我正在完成演练“如何:在Windows窗体的WCF调用中使用带有Windows身份验证和传输安全性的netTcpBinding”
http://msdn.microsoft.com/en-us/library/ff647180.aspx
当我进入“步骤7:创建测试客户端应用程序”和子步骤5:“5。在”添加服务引用“对话框中,将”服务URI:“设置为net.tcp:// localhost:8523 / WCFTestService,然后单击Go“
我得到“无法识别URI前缀。元数据包含无法解析的引用”。
好像“添加服务引用”无法识别“net.tcp”绑定。
我在使用Visual Studio 2012的Windows 7 x64上,我的项目是针对x86和Framework 4.5。
我找到了这个帖子
An error in the MSDN walk-through - "How to: Host WCF in a Windows Service Using TCP"
但是当客户端处于相同的解决方案时,他们没有问题。我是。
服务配置:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="Publisher.MyServiceBehavior">
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="POC_WcfTcpSubscribePublishService.Publisher">
<endpoint address="" binding="netTcpBinding" bindingConfiguration=""
name="NetTcpBindingEndpoint" contract="POC_WcfTcpSubscribePublishService.IPublisher">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexTcpBinding" bindingConfiguration=""
name="MexTcpBindingEndpoint" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8523/WcfTcpSubscribePublish" />
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
欢迎任何指示。
答案 0 :(得分:1)
您有服务行为:Publisher.MyServiceBehavior
但您不会将该服务行为应用于您的服务。服务名称=“...”后执行此操作:
behaviorConfiguration = “Publisher.MyServiceBehavior”
答案 1 :(得分:1)
必须先运行该服务,然后才能添加对它的引用。
您可以从解决方案资源管理器中的上下文菜单中单独运行服务项目。