欢迎光临
我的个人博客网站

ASP.NET 跨域配置


报错信息

  The ‘Access-Control-Allow-Origin’ header is present on the requested resource

解决方案

  web.config配置信息

  <appSettings xdt:Transform="Replace">     <add key="cors_allowOrigins" value="http://localhost:8002,http://192.168.0.1:8002" />   </appSettings>

  不加上下面的配置项,跨域就不会生效,不知道为啥。

<system.webServer>     <security>       <requestFiltering>         <requestLimits maxAllowedContentLength="4294967295"></requestLimits>       </requestFiltering>     </security>     <modules>       <remove name="WebDAVModule" />     </modules>     <handlers>       <remove name="WebDAV" />       <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>   </system.webServer>

  对应代码,初始化跨域配置  

   public static class WebApiConfig     {         public static void Register(HttpConfiguration config)         {             //异常捕捉             config.Filters.Add(new ApiErrorHandleAttribute());              // Web API 配置和服务             var allowOrigins = ConfigurationManager.AppSettings["cors_allowOrigins"];             var globalCors = new EnableCorsAttribute(allowOrigins, "*", "*")             {                 SupportsCredentials = true             };             config.EnableCors(globalCors);             // Web API 路由             config.MapHttpAttributeRoutes();              config.Routes.MapHttpRoute(                 name: "DefaultApi",                 routeTemplate: "api/{controller}/{id}",                 defaults: new { id = RouteParameter.Optional }             );         }     }

 

赞(0) 打赏
未经允许不得转载:张拓的天空 » ASP.NET 跨域配置
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专业的IT技术经验分享 更专业 更方便

联系我们本站主机

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏