首页 > Web开发 > 详细

ASP.NET跨域解决方法

时间:2020-10-13 10:17:07      阅读:24      评论:0      收藏:0      [点我收藏+]

前后端分离就意味着会跨域,可以定义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();
}

  

ASP.NET跨域解决方法

原文:https://www.cnblogs.com/liweis/p/13806595.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!