위의 원인을 찾을라고 여기저기 검색을 해봤는데,,
http://blog.naver.com/kakelo/130151536940
http://stackoverflow.com/questions/23293782/mvc-web-api-405-method-not-allowed
<modules>
<remove name="FormsAuthentication" />
<remove name="WebDAVModule" />
</modules>
우선 내가 작업하는 환경은 Visual Studio 2015 이며, asp.net mvc 와 web api 를 사용하고 있다.
여기 web api 에는 알다시피 put, delete, post, get 를 통해 처리하는데, 이런 동작을 iis 7 에서는 인지를 못하는 현상이다.
아래는 iis 의 응용프로그램풀 환경에서 v4.0 이며 통합을 사용하여 가동한 상태이다.
여전히 작동되지 않았다. 아마 web.config 와 iis 가 연결되지 않았나 해서 다시 확인해 봤다.
보니... 미 사용이 안되고 있다. 제거가 필요 해 보인다. 가감히 WebDAV 를 IIS 의 처리기 매핑에서 삭제를 했다.
이상하게도.. WEB.CONFIG 가 변경이 일어나는 것이었다. 그래서 열어봤다.
뭔지 모르지만, 많이도 remove 를 하고,마지막에 pool 을 통합을 해서 그런지 설정값이 필요했다.
이제 작동이 잘된다.~~
<system.webServer>
<modules>
<remove name="FormsAuthentication" />
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="WebDAV" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>