Asp.net

無法在 IIS Express 中啟動 asp.net 核心 Web 應用程序

  • May 24, 2016

$$ Edit $$問題是 BitDefender 防病毒。我按照有關如何安裝 asp.net 5 beta 8 的說明進行操作。我能夠毫無問題地安裝所有必要的文件。但是,每次我選擇 Web 模板並嘗試使用 IIS Express 執行它時,它都會載入幾分鐘,然後顯示錯誤:HTTP Error 502.3 - Bad Gateway… 我嘗試了本指南中的所有故障排除步驟,但沒有成功. 我檢查了我的事件日誌並註意到以下兩個條目:

為記憶體壓縮內容指定的目錄 C:\Users…Files\Clr4IntegratedAppPool 無效。靜態壓縮被禁用。

並且:

找不到來自源 HttpPlatformHandler 的事件 ID 1001 的描述。引發此事件的組件未安裝在本地電腦上,或者安裝已損壞。您可以在本地電腦上安裝或修復組件。

如果事件起源於另一台電腦,則顯示資訊必須與事件一起保存。

活動中包含以下資訊:

程序“4528”已成功啟動並正在偵聽埠“x”。

我不完全確定這些警告/資訊是否與我的問題有關。如果有人能對此有所了解,那就太好了。我只知道我已經安裝了 HttpPlatformHandler。

我決定嘗試另一個視覺工作室模板(空白模板),奇怪的是它起作用了。然後,我創建了一個新的 Web 應用程序並使用了項目屬性,並註意到當我勾選複選框:“使用特定執行時”並選擇 x64 架構時,一切正常!:) 但是,當未選中復選框(預設)或選中復選框並且體系結構設置為 x86 時,我得到相同的舊錯誤。

如何讓它使用預設設置執行?還是我在這裡遺漏了什麼?

這是我的 project.json 文件

{
 "webroot": "wwwroot",
 "userSecretsId": "aspnet5-WebApplication3-1a336a00-1f3e-432d-928e-f2669c4b0d94",
 "version": "1.0.0-*",

 "dependencies": {
   "EntityFramework.Commands": "7.0.0-beta8",
   "EntityFramework.SqlServer": "7.0.0-beta8",
   "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta8",
   "Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta8",
   "Microsoft.AspNet.Authentication.Google": "1.0.0-beta8",
   "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta8",
   "Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta8",
   "Microsoft.AspNet.Diagnostics": "1.0.0-beta8",
   "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta8",
   "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta8",
   "Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8",
   "Microsoft.AspNet.Mvc": "6.0.0-beta8",
   "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta8",
   "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8",
   "Microsoft.AspNet.StaticFiles": "1.0.0-beta8",
   "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta8",
   "Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta8",
   "Microsoft.Framework.Configuration.Json": "1.0.0-beta8",
   "Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta8",
   "Microsoft.Framework.Logging": "1.0.0-beta8",
   "Microsoft.Framework.Logging.Console": "1.0.0-beta8",
   "Microsoft.Framework.Logging.Debug" : "1.0.0-beta8",
   "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta8"
 },

 "commands": {
   "web": "Microsoft.AspNet.Server.Kestrel",
   "ef": "EntityFramework.Commands"
 },

 "frameworks": {
   "dnx451": { },
   "dnxcore50": { }
 },

 "exclude": [
   "wwwroot",
   "node_modules"
 ],
 "publishExclude": [
   "**.user",
   "**.vspscc"
 ],
 "scripts": {
   "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
 }
}

這是我嘗試過的,但沒有成功:

  1. 以安全模式啟動 Visual Studio。
  2. 清除了 Visual Studio 記憶體。
  3. 修復了 Visual Studio 2015。
  4. 解除安裝並重新安裝 Visual Studio 2015。
  5. 完全格式化我的電腦並重新安裝。

其他一些資訊:

  • 我正在執行 Windows 企業版 10。
  • 我正在執行 Visual Studio 2015 Enterprise。
  • 它已經工作了一兩次,但我無法確定何時出現的任何模式。
  • 我只是想讓 Visual Studio ASP.net 5 MVC 開箱即用的模板執行。
  • 我嘗試了不同的 BETA 版本和 RC 版本。

所以我終於找到了問題的原因。

我在電腦上安裝了 BitDefender 防病毒軟體,由於某種奇怪的原因,它導致了這種行為。正如原帖中提到的,我確實嘗試禁用它,但沒有奏效。我不得不完全解除安裝軟體:(

浪費時間 :(

使用 dnx web 或 dnx-watch web 從命令提示符啟動您的應用程序,或選擇 VS2015 來執行此操作。

觀察控制台視窗是否有任何錯誤。

HTTP Error 502.3 - Bad Gateway

如果您使用 dnx web,您只會在螢幕上看到這些錯誤。

我也遇到了這個錯誤。它是由 EF 中的錯誤引起的。如果 IIS express 由於 kestrel 停止響應而無法再與 kestrel 通信,您可能會收到此錯誤。

確保通過執行選擇正確的 dnx 版本dnvm use。顯示可用的 dnx 版本列表dnvm list

:\git\Other\Templates\test\Microsoft.Web.Templates.StarterWeb.AI.IndividualAuth.Tests>dnvm 列表

Active Version         Runtime Architecture OperatingSystem Alias
----- -------         ------- ------------ --------------- -----
 1.0.0-beta8     clr     x64          win
* 1.0.0-beta8     clr     x86          win             b8
 1.0.0-beta8     coreclr x64          win
 1.0.0-beta8     coreclr x86          win
 1.0.0-rc1-16110 coreclr x86          win
 1.0.0-rc1-final clr     x64          win
 1.0.0-rc1-final clr     x86          win             rc1
 1.0.0-rc1-final coreclr x64          win
 1.0.0-rc1-final coreclr x86          win
 1.0.0-rc2-16177 clr     x64          win
 1.0.0-rc2-16177 clr     x86          win             rc2
 1.0.0-rc2-16177 coreclr x64          win
 1.0.0-rc2-16177 coreclr x86          win
 1.0.0-rc2-16219 clr     x86          win
 1.0.0-rc2-16219 coreclr x86          win
 1.0.0-rc2-16222 clr     x86          win             default
 1.0.0-rc2-16222 coreclr x86          win

引用自:https://stackoverflow.com/questions/33527012