使用 Windows 10 和 Visual Studio Enterprise 2015 , IIS Express v10 出现了烦人的问题。
基本上我们的Web应用程序必须允许通过主机名进行远程连接。这很容易实现,我们只需将配置设置为下面的示例。
<site name="WebApplication" id="26">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="D:\WebApps\WebApplication" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:44371:*" />
</bindings>
</site>
此配置始终适用于以前的IIS Express实例。我面临的问题是每次重新启动工作站时,IIS都会创建另一个Web应用程序绑定实例,但是会再次默认为仅允许localhost
,如下所示。 (注意它还会在名称上添加(1+))。
<site name="WebApplication(1)" id="28">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="D:\WebApps\WebApplication" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:44371:localhost" />
</bindings>
</site>
自从使用Visual Studio 2015和IIS Express 10以来,这种情况才刚刚开始。现在每天我只需重新调整每个Web应用程序(我们有大约5-6个)绑定以允许远程连接。
现在某处我看到选择Apply server settings to all users (store in project file)
选项时出现此问题。但是,我的所有应用程序都确保这些都是unchecked
。
此外,我使用在快捷方式属性上选择的Administrator
选项将Visual Studio作为Run As Administrator
运行。我也禁用UAC
(因为我讨厌这些提示)。
任何帮助都将不胜感激。
干杯,尼科。
答案 0 :(得分:1)
我已经能够找到一个解决方案(似乎更像是一种解决方法),但无论如何要解决这个问题,我只能在初始站点配置中添加另一个绑定以允许远程连接。基本上添加
<binding protocol="http" bindingInformation="*:44371:*" />
到我现有的绑定,如下面的
<site name="WebApplication(1)" id="28">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="D:\WebApps\WebApplication" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:44371:localhost" />
<binding protocol="http" bindingInformation="*:44371:*" />
</bindings>
</site>
能够解决这个问题。现在又感觉像是一个解决方案,因为实际上初始绑定是重复的。