WCF服务库与类库项目类型

时间:2010-03-12 18:31:19

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

WCF服务库对常规类库没有做什么?

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

4 个答案:

答案 0 :(得分:25)

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

WCF服务库

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

答案 1 :(得分:5)

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

这为您提供了非常好的 F5 体验。在您的服务中设置断点,点击 F5 ,使用Test Client调用您的服务操作,您的断点将被命中。

答案 2 :(得分:2)

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

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

答案 3 :(得分:0)

如上所述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>
相关问题