WCF с обнаружением завершается неудачно с сокетом, недопустимым в его контексте на XP? - PullRequest
2 голосов
/ 22 января 2011

Я пытаюсь использовать механизм обнаружения WCF в .NET 4.0.Он работает в Windows 7, но не работает на компьютере с XP, за исключением сокета, который говорит, что «запрошенный адрес недопустим в своем контексте» (конечная точка: soap.udp: //239.255.255.250: 3702).* Windows 7 против XP - красная сельдь?netstat, похоже, не показывает никаких конфликтов.Что мне здесь не хватает?

Я создал упрощенный тестовый сервис, который показывает проблему, используя следующую конфигурацию:

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata/>
          <serviceDiscovery />
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior>
          <endpointDiscovery />
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <services>
      <service name="HelloWorldService">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost/Demo"/>
          </baseAddresses>
        </host>
        <endpoint kind="mexEndpoint" />
        <endpoint kind="udpDiscoveryEndpoint" />
        <endpoint contract="Test.IHelloWorld" 
                  address="/Hello" 
                  binding="basicHttpBinding" />
      </service>
    </services>
  </system.serviceModel>
</configuration>

Ответы [ 2 ]

1 голос
/ 22 января 2011

Возникла проблема при входе в систему Microsoft Connect . К сожалению, в настоящее время нет обходного пути, и ответ Microsoft

Исключение, о котором вы упоминаете, обычно ударил при попытке связать сокет к IP-адресу, который не действительный. Можете ли вы проверить это и если возможно, попробуйте на машине с разные ОС. Там в настоящее время нет известные ограничения открытия WCF особенность на XP.

0 голосов
/ 22 января 2011

Машина XP находится за брандмауэром или маршрутизатором? Чтобы быть точным, адрес 239.255.255.250 действительно принадлежит машине XP, или он фактически использует адрес NAT? Попробуйте запустить ipconfig, чтобы посмотреть, что он думает.

...