C# 发现WCF失败,套接字在XP上的上下文中无效?

C# 发现WCF失败,套接字在XP上的上下文中无效?,c#,wcf,service-discovery,C#,Wcf,Service Discovery,我正在尝试在.NET4.0中使用WCF的发现机制。它在Windows 7上工作,但在XP计算机上失败,出现套接字异常,表示“请求的地址在其上下文中无效”(端点是soap)。udp://239.255.255.250:3702) Windows7VSXP是不是在转移视线?netstat似乎没有显示任何冲突。我错过了什么 我创建了一个简化的测试服务,使用以下配置显示问题: <configuration> <system.serviceModel> <beha

我正在尝试在.NET4.0中使用WCF的发现机制。它在Windows 7上工作,但在XP计算机上失败,出现套接字异常,表示“请求的地址在其上下文中无效”(端点是soap)。udp://239.255.255.250:3702)

Windows7VSXP是不是在转移视线?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>

有一个问题已登录。不幸的是,目前没有解决办法,Microsoft的响应是

你提到的例外是 通常在尝试绑定时命中 套接字到一个IP地址,该地址不是 有效。你能帮我查一下这个吗 如果可能的话,试着在一台带有 不同的操作系统。目前没有 WCF发现的已知限制 XP上的功能


XP机器在防火墙或路由器后面吗?具体来说,地址239.255.255.250是否真的属于XP机器,还是它实际使用NAT地址?试着运行ipconfig,看看它认为自己拥有什么。

XP机器在路由器后面。机器的IP地址(来自ipconfig)为192.168.1.104。我不知道你要带着这个去哪里,但我什么都可以试试!我以为239.255.255.250地址是服务发现的著名多播地址?事实上,我自己也不确定,但这是一种预感。虽然我不认为我的答案是一个真正的解决方案,但如果我有同样的问题,这将是我的第一条线索。这看起来很不舒服,就像我看到的一样。这可能是答案,但我会暂且不做这样的标记,希望有一个更快乐的结局@罗斯:我希望你能找到解决办法。。。我觉得有个问题,微软需要发布一个修补程序。我建议您在Microsoft Connect上发布,这样至少会有其他人报告此问题。祝你好运:)这本身不是一个真正的答案,但我可能会得到一个很好的线索。谢谢