1

我正在完成演练“如何:在从 Windows 窗体调用 WCF 中将 netTcpBinding 与 Windows 身份验证和传输安全性结合使用”

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

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

我得到“无法识别 URI 前缀。元数据包含无法解析的引用”。

就好像“添加服务引用”无法识别“net.tcp”绑定一样。

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

我找到了这个线程

MSDN 演练中的错误-“如何:使用 TCP 在 Windows 服务中托管 WCF”

但是当客户在同一个解决方案中时,他们没有问题。我是。

服务配置:

    <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>

欢迎任何指点。

4

2 回答 2

1

你有一个服务行为:Publisher.MyServiceBehavior

但是您不会将该服务行为应用于您的服务。在 service name="..." 之后执行此操作:

行为配置="Publisher.MyServiceBehavior"

于 2013-02-26T23:18:54.873 回答
1

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

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

于 2013-02-28T17:27:56.550 回答