在localhost端口

时间:2017-09-19 15:47:55

标签: asp.net json asp.net-mvc cors

我在端口8799上运行了一个ASP.NET MVC应用程序,它通过XMLHttpRequest将JSON数据发布到MVC控制器处理程序。这条管道工作得非常好。

我最近开发了第二个应用程序,这次是在端口8080上运行的Express应用程序,它再次以相同的方式发布JSON(相同的代码,再次使用XMLHttpRequest),运行到同一个MVC控制器在端口8799上。但是,这次看起来似乎在控制器收到请求时,它上面没有数据。

我想知道这是否是因为我在这两个端口之间发出了跨源请求。基于这个假设,我在我的web.config文件中添加了以下自定义标题:

  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="http://localhost" />
    <add name="Access-Control-Allow-Headers" value="X-AspNet-Version,X-Powered-By,Date,Server,Accept,Accept-Encoding,Accept-Language,Cache-Control,Connection,Content-Length,Content-Type,Host,Origin,Pragma,Referer,User-Agent" />
    <add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, OPTIONS" />
    <add name="Access-Control-Max-Age" value="1000" />
  </customHeaders>

这似乎没有解决问题。我怎样才能调试这个问题,我似乎没有抛出任何特别有用的例外?

1 个答案:

答案 0 :(得分:0)

问题确实证明是CORS。无论出于何种原因,我的.NET应用程序都没有使用web.config文件。因此,我在我的Startup.cs文件中设置了CORS设置,而不是在services.AddCors()来电中使用Configure()