外部調用C#一般處理程序返回405 method not allowed解決辦法


在做跨域接口調用的時候,寫了個handler,在本地部署好了之后測試是可以用的,但是供外部鏈接調用的時候返回了405 method not allowed,解決辦法如下:

 

<system.webServer>
   <httpProtocol>
    <customHeaders>
       <add name="Access-Control-Allow-Origin" value="*" />
       <add name="Access-Control-Allow-Headers" value="X-Requested-With,Content-Type" />
       <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
    </customHeaders>
  </httpProtocol>
  <handlers>
     <remove name="WebDAV" />
    <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" />
     <add name="handler" path="handler.ashx" verb="*" type="WebApp.handler"/>
     <remove name="OPTIONSVerbHandler" />
   </handlers>
   <modules runAllManagedModulesForAllRequests="true">
     <remove name="WebDAVModule" />
   </modules>
</system.webServer>

  

注意:

上述配置中,青色部分是結決跨域問題紅色部分是解決405錯誤的,

尤其要注意加粗部分,添加對應的handler文件,后面的type是"命名空間.類名",如

namespace WebApp
{
/// <summary>
/// handler 的摘要說明
/// </summary>
public class handler : IHttpHandler
{

  ...

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM