为什么webapi 2无法通过IIS进行飞行前选项请求

时间:2015-10-28 00:16:49

标签: cors asp.net-web-api2

我有一个非常简单的webapi 2应用程序,它只是一个comdll的传递,并且正在为Get请求工作,但是当我在IIS中的localhost上运行api时,一个Post请求失败并出现CORS错误。当我在节点服务器中运行客户端,而Visual Studio中的IIS服务器中的服务器运行在不同的localhost端口时,它可以正常工作。

我在webapiconfig.cs文件中全局启用了CORS: 公共静态类WebApiConfig

      public static void Register(HttpConfiguration config)
      {
         // Web API configuration and services

         // Web API routes
         config.MapHttpAttributeRoutes();

         var cors = new EnableCorsAttribute("*", "*", "*");
         config.EnableCors(cors);

         config.Routes.MapHttpRoute(
             name: "DefaultApi",
             routeTemplate: "api/v1.0/{controller}"
         );
      }

当我在本地主机上的IIS中运行服务器从角度发出http请求时,我收到以下错误 Error displayed in console

这就是网络流量的样子 enter image description here

直到最近才开始工作。我所做的唯一改变是在客户端和com dll中。但这个帖子在Fiddler上运作得很好。我是http的相对新手,所以有人可以建议如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

这不是CORS配置本身的问题。好像没问题。在WEB API中仔细检查您的路线。我认为你必须改变你访问资源的路线。