2011-11-15 59 views
18

我們正在將我們的MVC3應用程序從IIS 6切換到7.5。我正在設置我的本地開發環境在Windows 7上。該應用大部分工作正常,但我剛剛發現,我有許多不同的MVC領域中的一個不起作用。什麼可能導致503服務不可用於asp.net mvc3應用程序的報告區域?

當我嘗試點擊此區域下的操作時,出現503服務不可用錯誤。這在我的應用程序的其他地方不會發生。

  • 整個網站只有一個應用程序池。
  • MVC 3
  • .NET 4.0
  • 64位
  • 失敗請求跟蹤不會看到這些請求。
  • 在Windows應用程序或系統日誌中沒有任何相關內容。
  • 該地區正常工作下的Visual Studio 2010卡西尼,問題發生在我運行它在本地IIS 7.5(不表達)
  • 應用程序池沒有崩潰或以其他方式停止
  • 沒有什麼我ELMAH登錄
  • 在文件系統中的安全性上整個樹
  • 每個人完全控制
  • URL是http://localhost/reports

我完全難倒。我找不到任何證據證明IIS甚至都沒有收到這個請求。我列出的旁邊還有其他日誌文件嗎?

[更新] 有沒有什麼辦法可以查看http.sys的網址預訂?我發現了一些關於SQL報告服務的問題,這些服務調用dib/Reports url。

+0

您是否有任何其他IIS模塊或應用程序可以處理該URL? – SLaks

+0

除非有默認的IIS 7安裝程序可以處理該網址。 –

+1

如果您將其更改爲/ reports2,您是否仍然遇到同樣的問題...? – Nik

回答

31

我想通了。這是由於SQL報告服務在http.sys中保留了http://+:80/Reports url。

我實際上沒有安裝報告服務,但它顯然仍然保留了網址。

我用下面的命令修復它:

netsh http delete urlacl url=http://+:80/Reports 
+3

謝謝!這個問題如同地獄般奇怪,但又是爲了拯救。 – lahsrah

+0

謝謝它真的幫我解決了這個問題。 –

+0

排序,不知道我會有自己的工作! – Fordio

0

你在這個區域使用任何ODBC或其他組件嗎?在64位模式下運行應用程序池時,我遇到了這樣的錯誤(或者類似的問題,記不起我的頭頂),而底層調用引用的是32位'某事'。您可以嘗試在應用程序池設置中啓用32位應用程序,以查看它是否會影響結果。

3

檢查帳戶/ IIS - >應用程序池 - >高級設置 - >流程模型 - >您的池正在運行的身份在其下。我更改了密碼,沒有得到無效密碼的日誌,而是裝載失敗,這反過來導致應用程序池被關閉,並且「503 Service Unavailable」被提供給用戶。

1

另一種方案是,我與我的http://ApplicationURL/報告

同樣的問題,是在SSRS是問題。

這一個更好的解決辦法是

  1. OpenReporting服務配置管理器。
  2. 連接到本地服務通常計算機名\ MSSQLSERVER
  3. 進入「報表管理器URL」選項
  4. 與另一個名稱,而不是報告修改虛擬目錄。

只要記住這個更改,您的SSRS報告將以您定義的名稱命名。

Carlos

+0

我知道這不是我的mvc代碼。哈哈!這只是一個錯誤,儘管這很常見。 謝謝,這對我來說絕對是最正確的答案。不知道爲什麼它沒有被upvoted。其他人肯定會遇到這種情況你知道......微軟聲稱所有80端口主機上的/ Reports /路徑......很可笑。只有ms可以擺脫這種事情。 – Barry

相關問題