2013-07-25 116 views
0

ASP.NET,Visual Studio 2010,Windows 8,IIS 8.ASP.NET網站不會在IIS下啓動

我有一個ASP.NET網站,我從客戶端的源代碼控制中提取。它在Visual Studio開發服務器下運行良好,但有些東西在IIS下運行時不能正常工作。

當我將它設置爲在IIS中運行時,由於IIS_IUSRS沒有讀取web.config的權限,它最初給了我一個500錯誤。

我修正了這個問題,現在開始,但瀏覽器只是坐在那裏說'連接'無限期,如果我瀏覽到該網站 - 它甚至不超時。

如果我試圖從VS啓動它,它會做類似的事情,除了一段時間後,並說它不能附加調試器。我已經閱讀了這裏和其他地方有關'不能附加調試器'信息的各種帖子,要麼他們不適用於我,要麼所提出的解決方案沒有任何區別。

我已經檢查了正常的IIS日誌,啓用了失敗的請求跟蹤,並檢查了這些 - 沒有,它似乎甚至沒有得到那麼多。我試過更改應用程序池設置等,這沒有任何區別。

任何人都可以建議任何其他的東西,我可以嘗試以找出這裏發生的事情嗎?

+1

您的應用程序池是否正在運行?應用程序池是否是正確的.NET版本?應用程序池標識是否可以訪問虛擬目錄/數據庫/應用程序需要的其他內容? IIS設置與web.config中的設置相匹配嗎?虛擬文件夾是否設置爲IIS中的應用程序?你是否從小提琴手那裏得到任何線索? – Dan

+0

我的猜測是它建立在一箇舊的框架上,而您沒有安裝在Windows 8機器上。 – vikingben

+0

應用程序池正在運行。應用程序池應該是正確的版本,但出於絕望,我嘗試了所有4種可能的配置。應用程序池標識似乎具有正確的訪問權限。 web.config看起來不錯。虛擬文件夾已建立。提琴手只列出了從不返回任何東西的初始請求。我有正確的框架版本。 – nrkn

回答

2

我承認您已經表示您已嘗試更改您的應用程序池設置。但是,您沒有說您嘗試使用哪個設置。

我一般觸摸每當我建立了一個IIS站點如下:

  • .NET Framework版本
  • 啓用32位應用程序(我經常與管理的dll,只有32位是工作)
  • 託管管道模式
  • 身份

仔細檢查/你對這些設置搜索值打gs在IIS下。

值得檢查的另一件事是你的web.config中的sessionState元素。根據我的經驗,配置不正確的sessionState會導致出現谷歌錯誤,但對於我來說可能會出現會話持久性並未完全保留到您的網站中。

還考慮你的模仿。再次:根據我的經驗,不正確的模擬會很快出錯。但是,如果您使用的是域帳戶,那麼這可能無法解決並導致您的應用程序池掛起似乎是合理的。

你如何部署到IIS?您是否將源代碼轉儲到IIS中,或者您正在編譯和發佈Web應用程序?無論你在嘗試什麼,都可以考慮嘗試其他的。

你正在建立一個發佈版本或調試版本的Web應用程序?無論你嘗試的是錯誤的,給其他人一個嘗試,看看是否有效。

請注意這裏的安全性:測試您的應用程序池的管理員身份。從長遠來看,這是一個糟糕的解決方案,但是如果您的網站在管理員帳戶下運行,那麼這將縮小您的問題範圍,使其與權限相關。

這就是我所能想到的,只要給出了迄今爲止提供的信息。你能想到其他可能相關的東西嗎?

+0

好的 - 我已經嘗試了各種應用程序池配置,根據您上面列出的內容,沒有運氣。我以前嘗試過,但沒有考慮啓用32位,不幸的是它沒有幫助。 web.config中沒有sessionState。 我沒有嘗試通過發佈進行部署 - 現在我試圖做到這一點,但它只是坐在那裏,輸出窗口顯示它已啓動,但它沒有做任何事情。然而,狀態欄中的活動指示器正在進行。 更改應用程序池標識沒有幫助。 我的系統非常標準,在此之前我沒有任何問題。 – nrkn

+0

我有一種強烈的直覺,即發佈只是無限期地坐在那裏,沒有超時,沒有錯誤,只是坐在那裏,涉及到站點只是坐在那裏說'連接'沒有超時或錯誤。我只是不確定接下來要去哪裏。 – nrkn

+0

這可能是一個愚蠢的問題:您是否確實在任務管理器中爲您的應用程序池運行了IIS進程?在「顯示所有用戶的進程」下查找w3wp.exe進行檢查。 –