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

时间:2010-08-09 16:36:18

标签: .net asp.net .net-3.5 iis-6 ipv6

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

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

2 个答案:

答案 0 :(得分:5)

要做的第一件事就是搜索您的代码以查找对System.Net.IPAddress的任何引用,并了解您如何在这些区域中传递信息:

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

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

答案 1 :(得分: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