2009-10-12 64 views
3

我只有這個錯誤有時(顯然是隨機的,但我知道在電腦裏真的沒有這樣的東西)。我正在使用VS 2008中的MVC(release 1)站點。該機器正在運行帶有IIS 7的Windows 7,但是此實例正在VS(Cassini?)內置的Web服務器下運行。MVC:「傳入的請求不匹配任何路由。」 - 與一個默認請求

httpHandler.ProcessRequest(HttpContext.Current); 

異常的方法是:: 傳入的請求沒有當我做一個F5開始運行它,我有時會在Default.aspx.cs的Page_Load方法四號線得到一個異常陷阱匹配任何路線。

檢查HttpContext.Current.Request對象顯示的路徑是「/」,rawUrl是「/Default.aspx?」 - 即,您對網站的正常空請求。

除了一對IgnoreRoutes行(忽略「pics/{* imgfile}」,忽略「{* favicon}」),MapRoutes例程幾乎是標準的。 Application_Start例程具有StructureMap的配置,並且在調用RegisterRoutes之前調用SetControllerFactory,但是它是標準的。

通常,如果我重新啓動VS,問題就會消失。 (並且幾乎總是如果我重新啓動機器)。

任何線索?

謝謝。

+1

IIS6或7呢?卡西尼? – annakata 2009-10-12 19:01:06

+0

我已經收集了一些更多的輸入信息,並找出了發生這種情況的原因(它並不是隨機的)。但我仍然沒有得到連接。 如果我嘗試在VS中調試程序並且SQL服務器沒有在我的機器上運行,程序在StructureMap中引發異常,這是可以理解的和可以預料的。如果我停止調試器,啓動SQL服務器,然後重新運行該程序,即發生這些錯誤時。 我仍然沒有得到連接,但至少我知道該怎麼做才能阻止它的發生(關閉VS,啓動SQL服務器並重新啓動)。 – 2009-10-23 18:29:00

+0

戴夫 - 你有沒有想過是什麼原因造成的?我有完全相同的事情發生在我身上。我在Global.asax中設置了一個斷點:Application_Start() - 斷點沒有被命中。 – 2010-11-02 17:17:32

回答

1

設置默認頁面。 asp.net中的F5將啓動到任何頁面被選中。但是,由於在MVC中,您的視圖可能會或可能不具有關聯的控制器功能,它可能會嘗試調用不存在的操作。打開您的項目屬性並將調試開始頁面設置爲您的站點主控制器操作。

+0

羅素, 感謝您花時間回覆。 有一個默認頁面集,它是正在運行並拋出異常的默認頁面(Default.aspx.cs)的標準代碼隱藏。有一個開始項目集,並且存在所有的操作,特別是默認操作(controller = home,action = index)。由於這種情況大部分時間都在運行,並且只是間歇性地失敗,所以很難看出這可能是什麼問題。 – 2009-10-15 14:06:38

0

對不起,我可憐的英語......

我也有這個問題呢!神奇地,調用路由的方法Application_Start在Global.asax中消失了!

vb.net:

Sub Application_Start() 
    RegisterRoutes(RouteTable.Routes) 
End Sub 

把這種方法在Global.asax中,如果不存在

相關問題