ASP.NET 5 MVC:无法连接到Web服务器“IIS Express”
我在做什么:
- 打开Visual Studio社区2015年
- 文件 – >新build – >项目
- 在Visual C#:Web – > ASP.NET Web应用程序下
- Web应用程序
- 然后按f5popup错误“ 无法连接到Web服务器”IIS Express“”。
删除位于Documents\IISExpress\config
不会更改错误消息。 ( program files
和program files (x86)
也有一个IISExpress
文件夹。)
我注意到的东西,我不知道是否是一个问题:
未find引用文件“lib / jquery-validation / jquery.validate.js”。
我得到了一个rawcap转储,但我没有注意到那里。 有一些在那里:
“Framework”:{“FrameworkName”:“DNXCore,Version = v5.0”,“FriendlyName”:“DNX Core 5.0”,“ShortName”:“dnxcore50”,“RedistListPath”:null}
我没有注意到一个问题,但我有networking数据,如果这可以帮助找出为什么我不能连接到Web服务器。 我得到一个RST,ACK
即时确认,所以我猜测端口是closures的,无论这个networking服务器是不是正在设置。
有关此问题的更多信息: 800700c1错误来自/ trace:错误
我试过了:
- 删除applicationhost.config(并更改端口号)
- 以pipe理员身份运行visual studio
- 在文档中删除IISExpress文件夹(更改错误消息,直到重新安装该文件夹)
- 切换和closuresssl,复制url发射框。 (注意:我没有使用ssl)
- 清除所有sfc / scannow错误
- 开始使用x86版本和64位版本的iisexpress
安装Visual Studio 2015更新2后,我开始得到相同的错误。 我尝试了一切,没有运气。 不过,我find了一个适合我的解决scheme:
- 删除YourSolutionFolder \ .vs \ config \ applicationhost.config文件(注意:.vs是一个隐藏文件夹)
- 打开Visual Studio,右键单击网站>属性>debugging选项卡> Web服务器设置>应用程序URL – 更改端口号。
退出VS并删除(项目).vs \ applicationhost.config文件。 重新启动VS. 它应该开始工作。
尝试使用不同的端口。 我刚刚build立了一个新的Core 1.0 RC1项目,并得到了同样的错误。
- 右键单击web项目
- debugging选项卡
- 切换启用SSLclosures和再次,它应该产生一个新的随机端口
- 复制SSL URL并粘贴到“启动URL”框中
- 运行该项目
为我工作(TM)。
从以下答复: https : //stackoverflow.com/a/28650554/134761
我能够通过改变一件事来切换这个错误。 在我的ASP.Net Core 1.0 RC2 Web应用程序项目的launchSettings.json
文件中:
"iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "https://localhost:18177/", "sslPort": 0 } },
至
"iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:18177/", "sslPort": 0 } },
我已经更改为https尝试使用该协议运行项目。 显然这不是做这个改变的地方。 我怀疑它是在同一个端口上创build多个绑定,IIS Express不喜欢。
我不会假装完全明白MS bug造成这个问题的原因,但这里有另一个可能的解决scheme:
在.vs / config / applicationHost.config文件中,find<system.applicationHost><applicationPools>
。 在池下,请确保managedRuntimeVersion
属性值与系统的IISconfiguration(和/或安装的.NET框架的版本)中的值匹配。
例如,你可能会发现(和我一样)生成的文件有:
<add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
就我而言,你可以用下面的代替:
<add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0.30319" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
请注意从“v4.0”到“v4.0.30319”的replace。 这解决了这个问题。
似乎正在发生:
我相信VS正在为.NET框架生成一个“默认”版本的applicationHost.config文件,该文件可能与系统上安装/configuration的特定版本不匹配。 您可以通过跟踪Process Monitor中的执行情况并查找iisexpress.exe的命令行来debugging/观察此问题。 使用/trace:error
运行这个命令会产生一个关于在v4.0版本中无法预装CLR的更多信息。 以机智:
启动IIS Express …
尝试预加载CLR版本v4.0时失败。 hr = 80131700
无法初始化W3WP_HOST hr = 80131700
过程模型closures调用
无法启动iisexpress。
无论如何,认为这可能会对别人有帮助,因为它是常见的,有多个网上参考与坏信息,我亲自打了几次现在。
我没有弄清楚是什么导致了这个问题。 但修复安装固定它。
我刚刚遇到同样的问题,我杀死了所有仍在运行的“iisexpress.exe”进程。 这对我有效!
在我的情况下,这是一些其他的应用程序侦听IIS Express试图附加到相同的端口。 我必须运行netstat -ao
才能看到使用相同端口和closures应用程序的进程的PID。 在我的情况下,应用程序是Viber。
试试这个,如果它工作,突然停止:
- closuresVisual Studio
- 杀死iisexpress.exe进程
- 重新打开Visual Studio
尝试在CMD
taskkill /im iisexpress.exe /f taskkill /im dotnet.exe /f
然后按f5。 我不更改端口,删除文件或重新启动VS.
我一旦在applicationhost.config中添加一个新的绑定,就以pipe理员身份运行,修复了这个问题。
我有这个相同的问题,但我修复它的方式是去applicationhost.config并删除一个端口,这是我没有添加(IIS Express的,我猜)将我的具体端口站点放在另一个端口。
这是configuration文件对我的绑定有什么:
<bindings> <binding protocol="http" bindingInformation="*:54764:localhost" /> <binding protocol="https" bindingInformation="*:44360:localhost" /> </bindings>
我删除了第一个绑定项目,因为我想要的唯一的端口是44360.我的configuration文件现在看起来像这样:
<bindings> <binding protocol="https" bindingInformation="*:44360:localhost" /> </bindings>
现在我在debugging时看不到错误。
我也注意到我的第二个API在我的项目中也分配了80端口,我也删除了这个。
像一只鸡一样拍着我的胳膊,像狗一样吠叫把它固定在我身上。 噢,我还添加了.UseUrls("https://localhost:<some port>/")
到Program.cs。 不完全确定哪一个为我固定。
我只是在“启用SSL”上进行切换。 这解决了我的问题。
- 右键单击web项目
- debugging选项卡
- 切换启用SSL“打开”(如果closures,这是我的情况)