[英]There was no endpoint listening at net.tcp://url that could accept the message. This is often caused by an incorrect address or SOAP action
I have a WCF program using net.tcp protocol.我有一个使用 net.tcp 协议的 WCF 程序。 It is hosted on IIS and used to work well, but recently(after some windows update, I guess), Client reported following error messages while try to connect server:
它托管在 IIS 上并且过去运行良好,但最近(我猜是在一些 Windows 更新之后),客户端在尝试连接服务器时报告了以下错误消息:
Error occurs during register duplex connect service. Error msg: There was no endpoint listening at net.tcp://localhost/xxx/Duplex.svc/tcp that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
I could open "http://localhost/xxx/Duplex.svc" successfully in web browser.我可以在网络浏览器中成功打开“http://localhost/xxx/Duplex.svc”。 There is no error recorded in Event Log, the net.tcp protocol has been added in my web application, net.tcp binding has been added in default web sites.
事件日志中没有记录错误,我的web应用程序中添加了net.tcp协议,默认网站中添加了net.tcp绑定。 The net.tcp Listener Adapter service is running.
net.tcp 侦听器适配器服务正在运行。
Is there anything I can do for this issue?我可以为这个问题做些什么吗? Is there any windows update recently will cause this issue?
最近是否有任何 Windows 更新会导致此问题? Any suggestion will be welcomed.
任何建议将受到欢迎。
Below is my server config下面是我的服务器配置
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="tcpCon" closeTimeout="00:03:00" openTimeout="00:03:00" sendTimeout="00:03:00" listenBacklog="2147483647" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
<services>
<service behaviorConfiguration="ServiceBe" name="UpdateService.Duplex">
<endpoint address="tcp" behaviorConfiguration="EndpointBe" binding="netTcpBinding" bindingConfiguration="tcpCon" name="tcp" contract="UpdateServiceInterface.IDuplex" />
<endpoint kind="udpDiscoveryEndpoint" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="EndpointBe">
<endpointDiscovery>
<scopes>
<add scope="http://xxxxxx" />
</scopes>
</endpointDiscovery>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="ServiceBe">
<serviceDiscovery />
<serviceMetadata httpGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceThrottling maxConcurrentCalls="2147483647" maxConcurrentSessions="2147483647" maxConcurrentInstances="2147483647" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
</behaviors>
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>
</system.serviceModel>
<system.webServer>
Finally I found the root cause.最后我找到了根本原因。 The default NetTcp port 808 is occupied by Intel Graphic Driver.
默认的 NetTcp 端口 808 被 Intel Graphic Driver 占用。 See this link .
请参阅此链接。
I submitted a ticket in Intel forum, based on their reply, this issue already fixed in latest driver version.我在英特尔论坛上提交了一张票,根据他们的回复,这个问题已经在最新的驱动程序版本中解决了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.