關於.net mvc webapi跨域設置的坑


本人采用的是MVC5+webapi2.X版本作為代碼基礎框架,在跨域時遇到了一些細節的坑,前端一直訪問提示跨域問題,最后解決了,總體正確的方法總共核心配置的地方有3個,故分享和記錄一下:

1:Global全局啟動類中一定要加上這句話

GlobalConfiguration.Configure(WebApiConfig.Register);

2:WebApiConfig.cs

public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
//跨域配置
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
}
}

3:Web.config,這一步就是我遺漏掉了的

<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>

加到webserver中

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM