core.net跨域

一、在 web.config中的<system.webServer></system.webServer>中间加入httpProtocol设置跨域。

<httpProtocol>
       <customHeaders>
             <add name="Access-Control-Allow-Origin" value="*" />
             <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
             <add name="Access-Control-Allow-Headers" value="Content-Type" />
       </customHeaders>
</httpProtocol>

二、在StartUp类的ConfigureServices方法中添加如下代码:

//允许一个或多个来源可以跨域
services.AddCors(options =>
{
      options.AddPolicy("CustomCorsPolicy", policy =>
      {
            // 设定允许跨域的来源,有多个可以用','隔开
            policy.WithOrigins("http://localhost:21632", "http://localhost:24661")
            .AllowAnyHeader()
            .AllowAnyMethod()
            .AllowCredentials();
      });
});

三、修改Configure代码如下:

// 设定特定ip允许跨域 CustomCorsPolicy是在ConfigureServices方法中配置的跨域策略名称
app.UseCors("CustomCorsPolicy");

四、在MVC或者API的controller中的Action前添加:

 [EnableCors("CustomCorsPolicy")]

可以在Action中添加代码

 Response.Headers.Add("Access-Control-Allow-Origin", "*");

参考网址:https://www.cnblogs.com/dotnet261010/p/10177166.html

                 https://www.cnblogs.com/mabelhua/p/10131156.html

                https://www.cnblogs.com/willingtolove/p/11175599.html

                https://www.cnblogs.com/lonelyxmas/p/12070762.html

猜你喜欢

转载自www.cnblogs.com/yibinboy/p/12326835.html