Получение AddressAlreadyInUseException после обновления до .NET 4.5

Я недавно установил новый .NET Framework 4.5 (ранее был 4.0 установлен) на моем сервере, и я получаюSystem.ServiceModel.AddressAlreadyInUseException когда я запускаю свою службу Windows, которая предоставляет конечные точки WCF.

System.ServiceModel.AddressAlreadyInUseException: на конечной точке IP уже есть прослушиватель 0.0.0.0:56543. Это может произойти, если другое приложение уже прослушивает эту конечную точку или если на хосте службы имеется несколько конечных точек службы с одинаковой конечной точкой IP, но с несовместимыми конфигурациями привязки. ---> System.Net.Sockets.SocketException: только одно использование каждого адреса сокета (протокол / сетевой адрес / порт) обычно разрешено в System.Net.Sockets.Socket.DoBind (EndPoint endPointSnapshot, SocketAddress socketAddress) в System. Net.Sockets.Socket.Bind (EndPoint localEP) в System.ServiceModel.Channels.SocketConnectionListener.Listen () --- Конец внутренней трассировки стека исключений --- в System.ServiceModel.Channels.SocketConnectionListener.Listen () в System. ServiceModel.Channels.BufferedConnectionListener.Listen () в System.ServiceModel.Channels.ExclusiveTcpTransportManager.OnOpen ()
на System.ServiceModel.Channels.TransportManager.Open (TransportChannelListener channelListener) при System.ServiceModel.Channels.TransportManagerContainer.Open (SelectTransportManagersCallback selectTransportManagerCallback) в System.ServiceModel.Channels.TransportChannelListener.OnOpen (TimeSpan тайм-аута) в System.ServiceModel.Channels.ConnectionOrientedTransportChannelListener .OnOpen (Тайм-аут TimeSpan) в System.ServiceModel.Channels.TcpChannelListener`2.OnOpen (Тайм-аут TimeSpan) в System.ServiceModel.Channels.CommunicationObject.Open (Тайм-аут TimeSpan) в System.ServiceModel.Dispatcher.OnDpanpatOpenShannel в System.ServiceModel.Channels.CommunicationObject.Open (тайм-аут TimeSpan) в System.ServiceModel.ServiceHostBase.OnOpen (тайм-аут TimeSpan) в System.ServiceModel.Channels.CommunicationObject.Open (тайм-аут TimeSpan.Source.OnerSerInSerInSerInSerInSerInSerInSnInF) [] args)

Конфигурация моих конечных точек WCF выглядит так:

<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>

Я думаю, что это как-то связано с конечной точкой MEX, которая использует тот же порт, но я не уверен, как правильно настроить его после обновления до .NET Framework 4.5.

Произошло ли изменение в WCF, чтобы эта конфигурация вызвала исключение?

Ответы на вопрос(2)

Ваш ответ на вопрос