【问题标题】:Enable CORS on WCF Service. Get HTTP 405: Method Not Allowed在 WCF 服务上启用 CORS。获取 HTTP 405:不允许的方法
【发布时间】:2014-04-27 23:43:40
【问题描述】:

我正在尝试在 WCF 服务上启用 CORS。当我尝试从客户端发送请求时,请求是使用 OPTIONS 动词发送的。我总是收到HTTP 405: Method not allowed 错误

如果我尝试使用 Fiddler 并使用 POST 动词创建相同的请求,则响应似乎是正确的。

我尝试在教程的帮助下删除webDAV http://brockallen.com/2012/10/18/cors-iis-and-webdav/ 但它似乎不起作用。

参考教程http://enable-cors.org/server_wcf.html,我已更新我的 WCF 以启用 CORS。我不确定出了什么问题。响应似乎有 CORS 标头

任何帮助将不胜感激。

PS:我不想让这个问题变得非常大和令人困惑。如果您想查看我的配置,请告诉我,我可以分享它

【问题讨论】:

标签: c# jquery wcf iis cors


【解决方案1】:

查看此链接http://praneeth4victory.wordpress.com/2011/09/29/405-method-not-allowed/:

protected void Application_BeginRequest(object sender, EventArgs e)
{
          HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
          if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
               HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache");
               HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST");
               HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
               HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
               HttpContext.Current.Response.End();
              }
}

【讨论】:

  • 感谢您的回复。但这无济于事。至少现在我没有收到 HTTP 405。我收到了 HTTP 200 但没有回复。响应 Content-Length 始终为 0
  • @Ron 我也有同样的问题。你有想过吗?
  • @Ron 没关系。我最终做的是将 Access-Control-Allow-Origin 移至 Web 配置。
猜你喜欢
  • 2016-08-05
  • 1970-01-01
  • 2016-06-13
  • 2011-01-13
  • 1970-01-01
  • 2017-12-03
  • 2017-10-10
  • 2014-01-09
  • 2013-03-13
相关资源
最近更新 更多