【发布时间】:2011-01-26 22:53:48
【问题描述】:
WCF 服务库有哪些常规类库没有的功能?
编辑:我发布了自己的答案。我错过了什么吗?它们基本上都只是添加了一些模板类的类库吗?
【问题讨论】:
-
@qntmfred:“它们基本上都是添加了一些模板类的类库吗”,一切都只是一个添加了模板类和其他设置的类库项目。
标签: .net wcf class-library project-types
WCF 服务库有哪些常规类库没有的功能?
编辑:我发布了自己的答案。我错过了什么吗?它们基本上都只是添加了一些模板类的类库吗?
【问题讨论】:
标签: .net wcf class-library project-types
我创建了两者并进行了比较。这是我发现的。
WCF 服务库
System.Runtime.Serialization 和System.ServiceModel 的引用。不像类库那样包含对System.Data.DataSetExtensions 的引用。IService1、CompositeType 和Service1
/client:"WcfTestClient.exe" 作为调试命令行选项WCF Options 选项卡。此选项卡包含在同一解决方案中调试另一个项目时启动 WCF 服务主机的选项Sign the ClickOnce manifests 选项。此选项在类库中被禁用【讨论】:
它还在 F5 上运行 WCF 服务主机实用程序。您注意到的 /client 开关正在传递给 WCF 服务主机,以告诉它要启动哪个客户端。在这种情况下,它被告知启动 WCF 测试客户端。
这会给你一个很好的 F5 体验。在你的服务中设置断点,点击F5,使用Test Client调用你的服务操作,你的断点就会被命中。
【讨论】:
<kbd>F5</kbd>。仅供偶尔使用。
我在VS 2010项目中测试过,使用类库作为WCF Hosting类型,但是无法生成wsdl或代理类。
WCF 项目与普通类库不同,因为它在解决方案/项目引用中添加了许多 dll,还添加了 (Service1.svc) 模板,您需要将其部署在 IIS 服务器中并使用 svcutil.exe 创建 2 个输出文件。
【讨论】:
如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>
【讨论】: