1. 程式人生 > >.net core webapi搭建(2)跨域

.net core webapi搭建(2)跨域

設置 origin pen .com gin jquer allow options name

Core WebAPI中的跨域處理

在使用WebAPI項目的時候基本上都會用到跨域處理 Core WebAPI的項目中自帶了跨域Cors的處理,不需要單獨添加程序包

如圖所示

技術分享圖片

修改 ConfigureServices

public void ConfigureServices(IServiceCollection services)
{
    //配置跨域處理
    services.AddCors(options =>
    {
        options.AddPolicy("any", builder =>
        {
            builder.AllowAnyOrigin() //允許任何來源的主機訪問
            .AllowAnyMethod()
            .AllowAnyHeader()
            .AllowCredentials();//指定處理cookie
        });
    });
}

修改Controller

[Route("api/CookieOne")]
[EnableCors("any")]
public class CookieOneController : Controller
{
    //後臺設置Cookie 
    [HttpPut]
    public IActionResult Add()
    {
        ControllerContext.HttpContext.Response.Cookies.Append("name", "中文 ,張三豐");
        return Ok(new { msg = "設置成功" });
    }

    //後臺獲取Cookie,特別 說明對於基礎類型的返回值,默認JQuery的ajax解析失敗,最好返回IActionResult 
    [HttpGet]
    public IActionResult Get()
    {
        string result = HttpContext.Request.Cookies["url"];
        return Content(result);
    }
}

  註意是這個玩意:

[EnableCors("any")]

打完收工

.net core webapi搭建(2)跨域