【问题标题】:WCF Service Library vs Class Library project typesWCF 服务库与类库项目类型
【发布时间】:2011-01-26 22:53:48
【问题描述】:

WCF 服务库有哪些常规类库没有的功能?

编辑:我发布了自己的答案。我错过了什么吗?它们基本上都只是添加了一些模板类的类库吗?

【问题讨论】:

  • @qntmfred:“它们基本上都是添加了一些模板类的类库吗”,一切都只是一个添加了模板类和其他设置的类库项目。

标签: .net wcf class-library project-types


【解决方案1】:

我创建了两者并进行了比较。这是我发现的。

WCF 服务库

  • 添加对System.Runtime.SerializationSystem.ServiceModel 的引用。不像类库那样包含对System.Data.DataSetExtensions 的引用。
  • 包含示例服务类IService1CompositeTypeService1
  • 添加带有 wsHttpBinding 和 mexHttpBinding 服务端点的 app.config
  • 在项目属性中添加/client:"WcfTestClient.exe" 作为调试命令行选项
  • 在项目属性中添加WCF Options 选项卡。此选项卡包含在同一解决方案中调试另一个项目时启动 WCF 服务主机的选项
  • 在项目属性的“签名”选项卡中启用Sign the ClickOnce manifests 选项。此选项在类库中被禁用

【讨论】:

  • 这很好地总结了 WCF 服务库的功能,确实!
【解决方案2】:

它还在 F5 上运行 WCF 服务主机实用程序。您注意到的 /client 开关正在传递给 WCF 服务主机,以告诉它要启动哪个客户端。在这种情况下,它被告知启动 WCF 测试客户端。

这会给你一个很好的 F5 体验。在你的服务中设置断点,点击F5,使用Test Client调用你的服务操作,你的断点就会被命中。

【讨论】:

  • @Marc:我太着急了。检查编辑以了解我得到了什么(/client 开关已传递给测试主机,以便它可以启动客户端)
  • @Benny:这只是<kbd>F5</kbd>。仅供偶尔使用。
【解决方案3】:

我在VS 2010项目中测试过,使用类库作为WCF Hosting类型,但是无法生成wsdl或代理类。

WCF 项目与普通类库不同,因为它在解决方案/项目引用中添加了许多 dll,还添加了 (Service1.svc) 模板,您需要将其部署在 IIS 服务器中并使用 svcutil.exe 创建 2 个输出文件。

【讨论】:

    【解决方案4】:

    here所述:

    在第一个 PropertyGroup 元素中执行以下操作:

    查找 ProductVersion 元素。更新产品版本以匹配以下内容:

    <ProductVersion>8.0.50727</ProductVersion>
    

    在 AssemblyName 元素下方,添加以下元素:

    <ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    
    <StartArguments>/client:"WcfTestClient.exe"</StartArguments>
    

    滚动到文件末尾,并在 Import 元素下方添加以下扩展名:

    <ProjectExtensions>
        <VisualStudio>
          <FlavorProperties GUID="{3D9AD99F-2412-4246-B90B-4EAA41C64699}">
            <WcfProjectProperties>
              <AutoStart>True</AutoStart>
            </WcfProjectProperties>
          </FlavorProperties>
        </VisualStudio>
      </ProjectExtensions>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-02
      • 1970-01-01
      • 1970-01-01
      • 2013-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多