使asp.net应用程序符合IPv6标准

eyc*_*ych 8 .net asp.net iis-6 ipv6 .net-3.5

我们有运行SQL Server 2005和.NET 3.5的Windows 2003服务器[单独].
我们在IIS 6上运行了一个基本的ASP.NET应用程序.
如果有的话,我需要在应用程序端[IIS,Framework,ASP.NET]上做什么,以使其与IPv6兼容?

编辑: 我们使用System.DirectoryServices,System.DirectoryServices.DirectoryEntry和DirectorySearcher()来针对AD对用户进行身份验证.这些电话会改变吗?

Rob*_*Rob 6

首先要做的是搜索代码以获取任何引用System.Net.IPAddress,并查看如何在这些区域中传递信息:

  • 您是否正在执行任何期望IP地址为IPv4格式的"手动"验证?
  • 您是否有任何UI组件,在应用程序本身或您拥有的任何配置工具/页面中,硬编码为xxx.xxx.xxx.xxx格式?
  • 您分配了多少空间来存储IP地址等数据库中的日志表?对于IPv4地址,15个字符是充足的,但IPv6地址可能要大得多.
  • 您是否在UI中的任何位置显示 IP地址?如果这样做,您是否分配了足够的屏幕空间来显示完整的IPv6地址?

还有其他问题要回答,但它们与基础设施相关,服务器故障对他们来说更好.


Luk*_*ett 1

这可能是 ServerFault.com 的候选者,因为您的所有应用程序服务都在底层传输协议之上运行。

理想情况下,您不必更改应用程序内的任何内容。我说理想是因为我自己的应用程序(即我专门编写的代码)在某些地方使用IP地址来识别内部连接。这必须改变 - 但这是特定于我的应用程序的。

只要您可以从客户端计算机通过 IP 和名称 ping 服务器,其他一切都应该正常工作,因为名称正在解析并且数据包正在路由。IP 堆栈将解码有效负载并将其传递给正在侦听的任何服务。

唯一需要注意的是 IPv6 地址有很多冒号,因此请检查浏览器是否可以理解如下所示的地址:

_HTTP://[ 2001:0ff8:0000:0000:0000:0000:1986:69af]:80/

浏览器应注意到 IP 地址位于 [] 括号中并照常工作,但较旧的浏览器可能会崩溃。

您遇到的任何问题都会成为一篇有趣的博客文章。

祝你好运

卢克

(_HTTP 可以防止 stackoverflow 变得混乱)

更新:

添加 IIS6 IPv6 问题列表链接:

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/4c7c6bce-213a-4125-bc36-2202e3b4c8c8.mspx?mfr=true