asp.net mvc 의 controller 에 put, delete 와 같은 header 를 받고자 할 때 iis 의 처리기매핑에서 "runAllManagedModulesForAllRequests" 의 동사인 verb 을 수정해야 합니다. web api 시에도 동일합니다.
http://stackoverflow.com/questions/11155528/asp-net-handle-put-delete-verbs
아래는 web.config 를 통해 처리기매핑 부분을 핸들링 할 수 있습니다.
<system.webServer>
<modules runAllManagedModulesForAllRequests="false"/>
<handlers>
<remove name="ExtensionlessUrl-Integrated-4.0" />
<add name="ExtensionlessUrl-Integrated-4.0" path="*."
verb="GET,HEAD,POST,DEBUG,DELETE,PUT"
type="System.Web.Handlers.TransferRequestHandler"
preCondition="integratedMode,runtimeVersionv4.0">
</handlers>
</system.webServer>
Iis 에서 직접 처리기 매핑 부분에서 직접 수정도 가능합니다.