현재 asp.net 응용 프로그램에 asp-net 웹 API 지원을 추가하고 있습니다. 그러나 임의의 경로를 사용하여 컨트롤러에서 작업을 요청할 때 AppRelativeCurrentExecutionFilePath는 항상 "~ /"로 설정되고 400 오류가 발생합니다. 사용할 수있는 경로 디버거를 사용했습니다. here은 AppRelativeCurrentExecutionFilePath가 URL에 상관없이 항상 올바르지 않다는 것을 확인했습니다.AppRelativeCurrentExecutionFilePath는 항상 모든 ASP.NET 웹 API 경로에 대해 ~ /로 설정됩니다.
예 : URL에 액세스 아래의 모든, 경로 테이블 항목이 필요한 경우에도 위의 URL에 또한 "~ /"
http://localhost:1521/Testclient/apitest/values/get
http://localhost:1521/Testclient/apitest/values/get/1
경로 디버거 실패 보여줍니다/아니오 일치하는 것으로 AppRelativeCurrentExecutionFilePath 있습니다.
모든 Application_BeginRequest/VPP/module/http 처리기와 라우팅에 영향을 줄 수 있지만 여전히 동일한 문제가 될 수있는 모든 항목을 사용 중지했습니다. 디버깅 할 수있는 다른 가능한 방법은 무엇입니까?
Update1 : global.asax에서 Application_BeginRequest()를 처리하여 application.Request.AppRelativeCurrentExecutionFilePath를 확인했습니다. 잘못된 경우에도 마찬가지입니다.
이것은 VS 2012 개발 서버의 버그이기도하며 ASP.NET MVC뿐 아니라 WebForms 페이지 라우팅을위한 페이지 라우팅에도 영향을 미칩니다. 간단히 디렉토리 이름에서 마침표를 제거하고 모든 것이 작동하기 시작했습니다. 게시 해 주셔서 감사합니다 ... 그것은 당신이 의심하는 시간을 절약 해 줬습니다! –