关于nettcpbinding:在同一解决方案中引用Wcf Tcp服务

Referencing a Wcf Tcp service from within the same solution

我将完成演练"如何:在从Windows窗体调用的WCF中使用NetTcpBinding和Windows身份验证和传输安全性"

http://msdn.microsoft.com/en-us/library/ff647180.aspx

当我进入"步骤7:创建测试客户端应用程序"和子步骤5:"5.在"添加服务引用"对话框中,将服务uri:设置为net.tcp://localhost:8523/wftestservice,然后单击"执行"。

I get"无法识别URI前缀。元数据包含无法解析的引用"。

就好像"添加服务引用"无法识别"net.tcp"绑定。

我在使用Visual Studio 2012的Windows 7 x64上,我的项目目标是x86和Framework 4.5。

我找到了这根线

msdn演练中的错误-"How to:Host WCF in a Windows Service using TCP(如何:在使用TCP的Windows服务中承载WCF)"

但当客户使用相同的解决方案时,他们没有问题。我是。

服务配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
    <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>
                   
                </baseAddresses>
            </host>
        </service>
    </services>
</system.serviceModel>

欢迎指点。


必须先运行服务,然后才能添加对它的引用。

您可以从解决方案资源管理器中的上下文菜单单独运行服务项目。


您有一个服务行为:publisher.myServiceBehavior

但您不会将该服务行为应用于您的服务。售后服务名称"…"执行此操作:

behaviorConfiguration="publisher.myServiceBehavior"