我正在尝试创建一个可通过 webHttpBinding 和 netTcpBinding 访问的 WCF 服务。我已经成功地让 webHttpBinding 可以通过 Java 客户端访问,现在我正在努力让 netTcpBinding 正常工作。
我已经设置了这样的配置;
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="httpBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<services>
<service name="MR_Jukebox_Service.JukeboxService">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8732/Design_Time_Addresses/MR_Jukebox_Service/"/>
<add baseAddress="net.tcp://localhost:8523/Design_Time_Addresses/MR_Jukebox_Service/net/"/>
</baseAddresses>
</host>
<endpoint address=""
behaviorConfiguration="httpBehavior"
binding="webHttpBinding"
contract="MR_Jukebox_Service.IJukeboxService" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="MR_Jukebox_Service.IJukeboxService" />
<endpoint address="net.tcp://localhost:8523/Design_Time_Addresses/MR_Jukebox_Service/net"
binding="netTcpBinding"
bindingConfiguration=""
contract="MR_Jukebox_Service.IJukeboxService" />
</service>
</services>
</system.serviceModel>
在同一个解决方案中,我有一个希望连接到 netTcpBinding 的测试应用程序,我右键单击“服务引用”并选择“添加服务引用...”。当我点击“发现”时,它虽然说找到了服务;
下载“http://localhost:8732/Design_Time_Addresses/MR_Jukebox_Service”时出错。请求失败,HTTP 状态为 404:未找到。元数据包含无法解析的引用:“http://localhost:8732/Design_Time_Addresses/MR_Jukebox_Service”。在http://localhost:8732/Design_Time_Addresses/MR_Jukebox_Service上没有可以接受消息的端点侦听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。远程服务器返回错误:(404) Not Found。如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。
但我也无法看到 netTcpBinding 以便我创建对它的服务引用。
我想知道是否有人能看到我做错了什么,因为它可能相当简单,但由于我缺乏 WCF 经验,所以没有注意到。
感谢您提前提供任何帮助。