CORS跨域

按HTML5規範的要求,若是客戶端跨域調用,須要服務端在Headers中加入一些配置項,不然會出現錯誤c#

No 'Access-Control-Allow-Origin' header is present on the requested resource

.net core中,加入了支持CORS的機制。 跨域

  1. 在NUGET中引入 Microsoft.AspNet.WebApi.Cors
  2. Startup.ConfigureServices方法中,AddMvc後加入
services.AddCors(options =>
            {
                options.AddPolicy("AllowSameDomain", builder =>
                {
                    builder.AllowAnyOrigin()//.WithOrigins("http://localhost")
                        .AllowAnyHeader()
                        .AllowAnyMethod();
                });
            });
  1. Startup.Configure方法中, UseMvc後加入
app.UseCors();
  1. Action方法中,加入特性
[EnableCors("AllowSameDomain")]
        public IActionResult About() {...}

注意,.net framework 和 .net core中處理此問題的包在不一樣的命名空間中, 添加引用時不要引錯了包。app

相關文章
相關標籤/搜索