2009-10-12 2 views
3

나는이 오류를 때때로 만난다. (분명히 무작위로, 컴퓨터에는 그런 것이 없다는 것을 알지만).MVC : "들어오는 요청이 어떤 경로와도 일치하지 않습니다." - 기본 요청이있는 경우

VS 2008의 MVC (릴리스 1) 사이트에서 작업하고 있습니다.이 컴퓨터는 IIS 7에서 Windows 7을 실행하고 있지만이 인스턴스는 VS (Cassini?)에 구축 된 웹 서버에서 실행 중입니다.

httpHandler.ProcessRequest(HttpContext.Current); 

예외 방법은 다음과 같습니다 : 들어오는 요청을하지 않습니다 내가 그것을 실행을 시작하기 위해 F5를 할 때, 가끔하여 default.aspx.cs의를 Page_Load 메소드의 4 번째 줄에서 예외 트랩을 얻을 것이다 어떤 경로와도 매치한다.

HttpContext.Current.Request 개체를 검사하면 경로가 "/"이고 rawUrl이 "/Default.aspx?"인 것으로 나타납니다. 즉 사이트에 대한 귀하의 정상적인 비어있는 요청.

MapRoutes 루틴은 두 개의 IgnoreRoutes 행 ("pics/{* imgfile}"무시)과 "{* favicon}"무시를 제외하고는 거의 표준입니다. Application_Start 루틴은 StructMap에 대한 구성을 가지며 RegisterRoutes를 호출하기 전에 SetControllerFactory를 호출하지만, 그렇지 않으면 표준입니다.

대개 VS를 다시 시작하면 문제가 사라집니다. (그리고 거의 항상 컴퓨터를 다시 시작하면됩니다.)

실마리가 있습니까?

감사합니다.

+1

IIS6 또는 7 존재하지 않는 경우는? 카시니? – annakata

+0

필자는 더 많은 정보를 수집하고 이것이 발생하는 상황을 파악했습니다 (결국 임의적이지는 않습니다). 그러나 나는 아직도 연결을 얻지 못한다. VS에서 프로그램을 디버깅하려고 시도하고 SQL 서버가 내 컴퓨터에서 실행되고 있지 않으면 프로그램에서 이해할 수 있고 예상되는 StructureMap에서 예외가 발생합니다. 디버거를 중지하고 SQL 서버를 시작한 다음 프로그램을 다시 실행하면 오류가 발생합니다. 아직 연결이 끊어지지는 않지만 적어도 VS가 닫히고 SQL 서버가 시작되고 다시 시작되는 것을 막기 위해해야 ​​할 일을 알고 있습니다. –

+0

Dave -이 문제의 원인을 파악 했습니까? 나도 똑같은 일을 당하고있다. Global.asax에 중단 점을 설정합니다. Application_Start() - 중단 점에 도달하지 않았습니다. –

답변

1

기본 페이지를 설정합니다. asp.net의 F5가 선택된 페이지로 실행됩니다. 그러나 MVC에서 뷰에 연결된 컨트롤러 기능이 있거나 없을 수도 있으므로 존재하지 않는 작업을 호출하려고 할 수 있습니다. 프로젝트 속성을 열고 디버그 시작 페이지를 사이트 홈 컨트롤러 작업으로 설정합니다.

+0

Russell, 응답 해 주셔서 감사드립니다. 기본 페이지 집합이 있으며 예외를 실행하고 실행중인 해당 기본 페이지 (Default.aspx.cs)의 표준 코드 숨김입니다. 시작 프로젝트 세트가 있으며, 모든 조치가 존재합니다. 특히 기본 조치 (controller = home, action = index)가 있습니다.이것이 대부분의 시간을 실행하고 간헐적으로 만 실패하기 때문에 이것이 어떻게 문제가 될 수 있는지를 알기가 어렵습니다. –

0

죄송합니다. 내 가난한 영어 ...

이 문제도 발생했습니다. Mystiously Global_asax에서 경로를 호출하는 Application_Start 메소드가 사라졌습니다 !!

vb.net :

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

넣어 Global.asax에이 방법이

관련 문제