I have a WCF program using net.tcp protocol. 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:

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. 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. The net.tcp Listener Adapter service is running.

Is there anything I can do for this issue? Is there any windows update recently will cause this issue? 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>
1

There are 1 answers

0
Kerwen On BEST ANSWER

Finally I found the root cause. The default NetTcp port 808 is occupied by 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.