在 WCF 4.X 中配置 netTcpBinding 的正确方法是什么?
本文关键字:方法 是什么 netTcpBinding WCF 配置 | 更新日期: 2023-09-27 18:32:28
>我正在开发一个WCF应用程序,其绑定必须是"netTcpBinding",但是当我在Visual Studio 2013中运行它时,我收到此错误"无法获取元数据http://localhost:62081/Queue.svc"。我像做一样仔细搜索,但没有找到工作的例子。我想了解这是如何工作的。谢谢!!!下面你会发现我的网络配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="QueueBehavior">
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="QueueBehavior" name="ComponenteCola.Queue">
<endpoint address="" binding="netTcpBinding" bindingConfiguration=""
name="QueueNetTcpEndPoint" contract="ComponenteCola.IQueue" />
<endpoint address="mex" binding="mexTcpBinding" bindingConfiguration=""
name="NetTcpMetadataPoint" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:57965/Queue" />
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
</configuration>
希望仍然有帮助
我认为它需要实际的元数据 URL,请尝试像这样添加
<baseAddresses>
<add baseAddress="net.tcp://localhost:57965/Queue" />
<add baseAddress="http://localhost:62081/Queue/mex" />
</baseAddresses>
我正在使用带有 .NET 4 的自承载 WCF 服务,但我认为不会有太多差异。
呵呵