Uzyskanie wyjątku AddressAlreadyInUseException po aktualizacji do .NET 4.5

Niedawno zainstalowałem na moim serwerze nową platformę .NET Framework 4.5 (wcześniej była zainstalowana wersja 4.0) i otrzymujęSystem.ServiceModel.AddressAlreadyInUseException kiedy uruchamiam usługę Windows, która ujawnia punkty końcowe WCF.

System.ServiceModel.AddressAlreadyInUseException: Istnieje już detektor na punkcie końcowym IP 0.0.0.0:56543. Może się tak zdarzyć, jeśli na tym punkcie końcowym jest już inna aplikacja lub jeśli w hoście usług jest wiele punktów końcowych usługi z tym samym punktem końcowym IP, ale z niezgodnymi konfiguracjami powiązań. ---> System.Net.Sockets.SocketException: Zwykle dozwolone jest tylko jedno użycie każdego adresu gniazda (protokół / adres sieciowy / port) w System.Net.Sockets.Socket.DoBind (EndPoint endPointSnapshot, SocketAddress socketAddress) w System. Net.Sockets.Socket.Bind (lokalny terminal EndPoint) w System.ServiceModel.Channels.SocketConnectionListener.Listen () --- Koniec śledzenia stosu wyjątków wewnętrznych --- w System.ServiceModel.Channels.SocketConnectionListener.Listen () w System. ServiceModel.Channels.BufferedConnectionListener.Listen () at System.ServiceModel.Channels.ExclusiveTcpTransportManager.OnOpen ()
at System.ServiceModel.Channels.TransportManager.Open (TransportChannelListener channelListener) w System.ServiceModel.Channels.TransportManagerContainer.Open (SelectTransportManagersCallback selectTransportManagerCallback) w System.ServiceModel.Channels.TransportChannelListener.OnOpen (TimeSpan timeout) w System.ServiceModel.Channels. .OnOpen (TimeSpan timeout) w System.ServiceModel.Channels.TcpChannelListener`2.OnOpen (TimeSpan timeout) w System.ServiceModel.Channels.CommunicationObject.Open (TimeSpan timeout) w System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen (TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open (TimeSpan timeout) w System.ServiceModel.ServiceHostBase.OnOpen (TimeSpan timeout) w System.ServiceModel.Channels.CommunicationObject.Open (TimeSpan timeout) w Qosit.Infrastructure.UnisServer.OnStart (String [] args)

Konfiguracja moich punktów końcowych WCF wygląda następująco:

<system.serviceModel>
    <bindings>
      <netTcpBinding>
        <binding name="NetTcpBindingConfiguration" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="65536">
          <readerQuotas maxDepth="32" maxStringContentLength="5242880" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
        </binding>
      </netTcpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
        <behavior name="MEX">
          <serviceMetadata/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service behaviorConfiguration="MEX" name="MyAssembly.MyNamespace.MyService">      
        <endpoint address="net.tcp://localhost:56543/MyService"
          binding="netTcpBinding" bindingConfiguration="NetTcpBindingConfiguration" contract="MyAssembly.MyNamespace.MyServiceInterface" />
        <endpoint address="net.tcp://localhost:56543/MEX" binding="mexTcpBinding"
          contract="IMetadataExchange" />
      </service>
    </services>
  </system.serviceModel>

Myślę, że ma to coś wspólnego z punktem końcowym MEX, który używa tego samego portu, ale nie jestem pewien, jak poprawnie skonfigurować go po uaktualnieniu do .NET Framework 4.5.

Czy nastąpiła zmiana w WCF, aby konfiguracja ta spowodowała wyjątek?

questionAnswers(2)

yourAnswerToTheQuestion