WCF服务库对常规类库没有做什么?
编辑:我发布了自己的答案。我错过了什么吗?它们基本上都只是添加了几个模板类的类库吗?
答案 0 :(得分:25)
我创造了两者并进行了比较。这就是我发现的。
WCF服务库
System.Runtime.Serialization
和System.ServiceModel
的引用。不像类库那样包含对System.Data.DataSetExtensions
的引用。IService1
,CompositeType
和Service1
/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>