2011-01-22 25 views
2

我想在.NET 4.0中使用WCF的发现机制。它适用于Windows 7,但在XP机器上出现套接字异常时出现“请求的地址在其上下文中无效”(端点为soap.udp://239.255.255.250:3702)时失败。带有发现的WCF失败,套接字在XP上的上下文无效?

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

回答

1

有登录Microsoft Connect的问题。遗憾的是目前还没有解决办法和微软的回应是

你提试图将 插座不是 有效的IP地址绑定时 正常打的异常。你可以请检查这个和 如果可能的话尝试一台机器与 不同的操作系统。 XP上的WCF Discovery 功能目前没有 已知限制。

+0

这看起来很不舒服,就像我所看到的。这可能是答案,但我会坚持这样做,希望结局更加开心! – Russ 2011-01-22 21:10:59

+0

@Russ:我希望你能得到解决方案......我的感觉是存在问题,MS需要发布HotFix。我建议你在Microsoft Connect上发帖,这样至少有其他人会报告这个问题。祝你好运:) – 2011-01-22 21:14:56

0

是防火墙还是路由器的XP机器?具体而言,地址239.255.255.250是否属于XP机器,还是实际使用NAT地址?尝试运行ipconfig,看看它认为它有什么。

相关问题