Apprezzo qualsiasi aiuto su questo dato che il sito dovrebbe essere pubblicato stasera!
Ho un controller web api con un metodo Delete. Il metodo funziona bene sulla mia macchina locale che esegue IIS Express (Windows 8) ma non appena l'ho distribuito sul server IIS live (Windows Server 2008 R2) ha smesso di funzionare e genera il seguente messaggio di errore:
Errore HTTP 405.0 - Metodo non consentito La pagina che stai cercando non può essere visualizzata perché viene utilizzato un metodo non valido (verbo HTTP)
Ho cercato in giro per il web soluzioni e ho implementato quelle più ragionevoli. La mia configurazione web ha le seguenti impostazioni:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
Inoltre ho provato a cambiare i mapping del gestore e il filtro di richiesta in IIS senza alcun risultato. Si noti che le regole di creazione WebDAV in IIS sembrano essere disabilitate.
Tutte le idee notevolmente saranno apprezzate Grazie.