第一步:下載nuget包
Install-Package Microsoft.AspNet.WebApi.Cors
第二步:在webApiConfig 中配置代碼如下
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API 配置和服務
// Web API 跨域配置 引入跨域nuget包:Microsoft.AspNet.WebApi.Cors
string cors_hosts = ConfigurationManager.AppSettings["cors_hosts"];
if (!string.IsNullOrEmpty(cors_hosts))
{
var allowOrigins = cors_hosts;//最好來自配置文件夾 "*"
var allowHeaders = "*";//最好來自配置文件夾
var allowMethods = "*";//最好來自配置文件夾
var globalCors = new System.Web.Http.Cors.EnableCorsAttribute(allowOrigins, allowHeaders, allowMethods)
{
SupportsCredentials = true,
// 設置預檢查時間
PreflightMaxAge = 20 * 60,
};
config.EnableCors(globalCors);
}
// Web API 路由
config.MapHttpAttributeRoutes();
// Web API 全局異常捕捉
config.Filters.Add(new ExceptionAPIFilter());
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
最後在web.config配置文件中appSettings節點中配置允許訪問的路徑
<appSettings>
<!--支持跨域訪問的域名,注意端口是必須的(除80),結尾不能加“/“-->
<add key="cors_hosts" value="http://192.168.9.8:9527,http://192.168.9.176:9528,http://192.168.9.246:9529"/>
</appSettings>