我有一个针对 http 和 https 协议进行配置的 applicationhost.config 文件。
<site name="Application.Namespace" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\projects\services\Application\Application.Namespace" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:3042:localhost" />
<binding protocol="https" bindingInformation="*:44305:localhost" />
</bindings>
</site>
我遇到的问题是,当我运行我的解决方案时,IIS 仅在 HTTPS 和端口 44305 上运行此实例,并完全忽略 HTTP:3042 绑定。
当我导航到http://本地主机:3042 它只是告诉我找不到该页面。当我转到 HTTPS 端口时,我期望在 HTTP 上找到的内容却得到了正确的服务。
我尝试过重新安装 iis,明确删除所有 https,测试其他绑定(存在相同行为)。所以我不确定该怎么做,或者从哪里开始处理这个问题。
有没有其他人经历过这种情况,或者对某事或某处有什么直觉可以开始观察?
任何帮助都将不胜感激。谢谢
一些额外的信息:
- 我正在运行 IIS express 10
- 我正在使用 .Net Framework 4
答案1
我也遇到了同样的问题。
我通过执行以下操作来修复此问题:
- 以管理员权限打开命令提示符并运行
netsh http add iplisten ipaddress=::
- 删除
.vs
可能位于你的项目文件夹中的 - 删除
%USERPROFILE%\Documents\IISExpress\config
- 重启