ASP.NET跨域解決方法


前后端分離就意味着會跨域,可以定義Headers參數解決.NET中跨域問題。下面的方法本質上是一種。

方案一:修改IIS的HTTP響應標頭

后端部署后,在IIS中打開HTTP響應標頭:

右鍵添加以下三個響應頭:

Access-Control-Allow-Methods:OPTIONS,POST,GET
Access-Control-Allow-Headers:x-requested-with,content-type
Access-Control-Allow-Origin:value=*

方案二:手動在服務端Web.config中配置

在服務端Web.config中配置如下參數:

<configuration>
….
<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET" />
        <add name="Access-Control-Allow-Headers" value="x-requested-with,content-type" />
        <add name="Access-Control-Allow-Origin" value="*" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>

方案三:在接口中分別添加

直接在方法中添加Headers。

[WebMethod]
public void Hello()
{
   //支持跨域, 改寫響應頭信息
   HttpContext.Current.Response.Headers.Add("Access-Control-Allow-Origin", "*");
   HttpContext.Current.Response.Headers.Add("Access-Control-Allow-Methods", " OPTIONS,POST,GET ");
   HttpContext.Current.Response.Headers.Add("Access-Control-Allow-Headers", "x-requested-with,content-type");

   HttpContext.Current.Response.Write(JsonConvert.SerializeObject("Hello,GIS!"));
   HttpContext.Current.Response.End();
}

  


免責聲明!

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



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