Visual Studio:如何使Cassini监听:: 1?

Ian*_*oyd 5 cassini ipv6 visual-studio web

Visual Studio的内部开发Web服务器仅侦听来自本地计算机的连接.

不幸的是,Web服务器只绑定到IPv4环回地址:

127.0.0.1
Run Code Online (Sandbox Code Playgroud)

在启用了IPv6的计算机上(即Windows Vista,Window 7),它不会绑定到IPv6环回地址:

::1
Run Code Online (Sandbox Code Playgroud)

当您在Visual Studio中播放游戏或从通知区域图标打开网站时,浏览器将启动并尝试连接到" localhost ":

http://localhost:53289/WebSite/
Run Code Online (Sandbox Code Playgroud)

localhost不是真正的地址,而是别名.在Vista及其后来,它被定义为:

C:\Windows\System32\drivers\etc\hosts

::1        localhost
Run Code Online (Sandbox Code Playgroud)

因此,您无法通过尝试连接到localhost来浏览到在本地主机上运行的Web站点,您必须将其更改为127.0.0.1


如何使Visual Studio的内部Web服务器也可以监听

::1
Run Code Online (Sandbox Code Playgroud)

此外

127.0.0.1
Run Code Online (Sandbox Code Playgroud)

Dan*_*ert 2

据我所知,您不能将 IPv6 与 Visual Studio 的开发服务器一起使用。不过,您可以使用 IIS 进行设置。

您可以在此处找到有关如何执行此操作的说明: http: //blogs.iis.net/.../using-ipv6-with-iis7.aspx

另一种选择是执行我之前所做的操作,即从主机文件中删除 IPv6 本地主机定义。只需删除这一行:

::1        localhost
Run Code Online (Sandbox Code Playgroud)

确保127.0.0.1在主机文件中包含对的引用作为替代方案,否则您将遇到更大的问题。您永远不需要使用localhost的别名::1,至少在世界完全切换到 IPv6 之前是这样,无论如何,这不会持续很长时间。