Help and Support

文章编号: 939525 - 最后修改: 2007年9月5日 - 修订: 3.0

在.NET 远程处理应用程序使用 IPv 6 地址时 FIX: 错误消息:"到无法访问主机尝试一个套接字操作"

本页

展开全部 | 关闭全部

症状

请考虑以下情形:
  • 在 Microsoft.NET Framework 远程处理应用程序运行 Microsoft Windows XP 或 Microsoft Windows Server 2003 的计算机上,使用 IP 版本 6 (IPv 6) 站点本地地址或 IPv 6 链路本地地址。
  • .NET Framework 远程处理应用程序使用 TcpChannel 通道。
在这的种情况下您将收到下面的错误信息:
System.Net.sockets.SocketException: A 套接字试图操作到无法访问主机

原因

当运行 Windows XP 的计算机上使用 IPv 6 地址或 Windows Server 2003、 Microsoft.NET Framework 删除区域 ID 从该统一资源标识符 (URI) 之前时,远程处理应用程序将连接到服务器。

在运行 Windows Vista 的计算机上使用 IPv 6 地址时,.NET Framework 远程处理应用程序将在如果未指定区域 ID 对本地 Sub-net 进行使用。 因此,Windows Vista 上不会发生此问题。

解决方案

修补程序信息

目前 Microsoft 提供了一个受支持的修补程序。 但是,该程序用于解决本文中提到的问题。 它仅应用于正经历此特定问题的系统。 此修复程序可能会接受进一步的测试。 因此,如果您不会受到严重影响受此问题,我们建议您等待下一个包含此修复程序的.NET Framework 2.0 Service Pack。

要立即解决此问题,与 Microsoft 客户支持服务以获取该修补程序。 有关完整列表的 Microsoft 客户支持服务电话号码和支持费用的信息,请访问下面的 Microsoft Web 站点:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
请注意 特殊的情况下收通常情况下收取的支持电话电话服务的费用如果,可免 Microsoft 支持专业人员确定某个特定的更新能够解决您的问题。 通常的支持成本将应用于其他支持问题和执行不适用于特定更新的问题。

请注意 当您使用以下时,可以使用此修补程序:
  • IPv 6 站点本地地址或 IPv 6 链路本地地址
  • HttpChannel 通道
  • 服务器激活对象
有关其他方案,按照"替代方法"一节中提到的步骤。

系统必备组件

您必须具有.NET Framework 2.0 安装此修复程序。

重新启动要求

应用此修补程序后,必须重新启动计算机。

修补程序代替信息

此修补程序不替代任何其他修补程序。

文件信息

文件属性 (或更高版本的文件属性),将程序此修复程序的英文版下表中列出。 该日期和为这些文件的时间按协调世界时 (UTC) 列出。 当您查看文件信息时, 它被转换为本地时间。 要了解 UTC 和本地时间的时差,请使用控制面板中 日期和时间 的项 时区 选项卡。
收起该表格展开该表格
文件名称文件版本文件大小日期时间平台
System.Runtime.Remoting.dll2.0.50727.898299,00828-Jun 200711:30x 86

替代方法

要变通解决此问题,使用下面的方法:
  • 如果您使用 IPv 6 站点本地地址或 IPv 6 链路本地地址,请在而不是 TcpChannel 通道使用 HttpChannel 通道。
  • 如果您在中使用 TcpChannel 通道则使用 IPv 6 全局地址,而不是 IPv 6 站点本地地址或 IPv 6 链路本地地址。

状态

Microsoft 已确认这是"适用于"一节中列出的在 Microsoft 产品中存在的问题。

更多信息

有关软件更新术语的更多信息,单击下面的文章编号,以查看 Microsoft 知识库中的文章:
824684? (http://support.microsoft.com/kb/824684/LN/ ) 标准术语用于描述 Microsoft 软件更新的说明

调用堆栈信息

服务器堆栈跟踪:
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
   at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket(EndPoint ipEndPoint)
   at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket()
   at System.Runtime.Remoting.Channels.SocketCache.GetSocket(String machinePortAndSid, Boolean openNew)
   at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWithRetry(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream)
   at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)
   at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)

这篇文章中的信息适用于:
  • Microsoft .NET Framework 2.0
关键字:?
kbmt kbexpertiseadvanced kbfix kbpubtypekc kbqfe kbhotfixserver KB939525 KbMtzh
机器翻译机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 939525? (http://support.microsoft.com/kb/939525/en-us/ )
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

文章翻译

 

Related Support Centers