2011-01-19 3 views
0

iis7이 포함 된 win2k8 32 비트 서버에서 my asp.net mvc2 .net4 웹 응용 프로그램을 배포했습니다. 64 비트 서버에서 과거에했던 것과 똑같은 일을합니다. 그러나 컨트롤러를 올바르게 호출하지 않는 것 같습니다. 다음 컨트롤러를 호출 할 때;URL에서 IIS7에서 MVC 컨트롤러를 호출하려고 시도

http://localhost/getPlaces?placeID=3498 404 오류가 발생합니다.

나는 무엇이 진행되고 있었는지 모니터링하기 위해 프로세스 모니터를 사용했습니다. 그것이 무엇을 집어 든다.

CreateFile에 C : \을 Inetpub \ wwwroot에 \ getPlaces \ Web.config의

CreateFile에 C : \을 Inetpub \ wwwroot에 \ GETPLACES

그리고 아무것도. 나에게 그것은 매우 이상하게 보입니다.

웹 응용 프로그램은 wwwroot 디렉토리에 있으며 응용 프로그램 풀이 .net 4.x (mvc2 .net4 앱)로 올바르게 설정되어 있습니다.

제가 놓친 것이 있습니까? IIS 구성의 다른 모든 것들은 기본값입니다.

도움이 필요하시면 여기를 클릭하십시오.

+0

값을 쿼리 문자열로 지정합니다. 이 올바른지? –

+0

경로가 어떻게 생겼습니까? 이 룩에 대한 당신의 컨트롤러 동작은 어떻습니까? – mare

+0

글쎄,이 정확한 전체 MVC 응용 프로그램이 실제로 다른 두 IIS7 서버에서 작동하는 것을 볼 때, 나는 그런 것들에 대해 너무 걱정하지 않는다. 나는 IIS가 컨트롤러를 찾을 곳을 모르는 뭔가 일 수 있다고 약간 더 걱정하고있다. procmon을 사용하면 웹 응용 프로그램의 아무 것도 액세스하지 못하는 것을 볼 수 있습니다. getPlaces 디렉토리 아래에서 web.config 파일을 찾고/시도합니다. 진실은 컨트롤러가 wwwroot \ controllers에 있지만, 어떻게 든 맵핑되어 웹 어플리케이션이 어디서 그것을 찾을 지 알 수 있어야합니다. 어떤 아이디어? – cc0

답변

1

ISAPI 필터가 누락되었습니다. 복구 옵션을 사용하여 .net4를 다시 설치하고 다시 부팅했는데 모두 정상이었습니다. 게시 한 사람에게 감사드립니다.]

1

URL이 유효하지 않은 것 같습니다. http://localhost/getPlaces/3498 또는 http://localhost/getPlaces?postcode=3498이 맞지 않았습니까?

현재 모양에 기본 라우팅 설정을 가정하면 URL은 getPlaces 동작 메서드와 3498이라는 sinel 매개 변수 (값이없는 이름 - 값 쌍이므로)로 매핑됩니다. 식별자는 .NET 언어로 된 숫자로 시작할 수 없으므로 불가능합니다.

+0

아, 좋은 지적이고, 나쁘다. 너무 단순화했다. 전화는 실제로 getPlaces입니까? placeID = 3498, 죄송합니다. 편집하고 있습니다. – cc0

관련 문제