我们的网站和网络服务托管在不同的域上。为了启用CORS,我设置了每个请求,通过全局asax中的Application_BeginRequest标头发送带有相应域的Access-Control-Allow-Origin标头。
除非发生错误,否则大部分时间都可以使用。当发生错误时,我们会使用堆栈跟踪获得标准的ASP.Net Yellow Page of Death。问题是,附加到响应的Access-Control-Allow-Origin标头被删除;并且在调试站点时,由于浏览器安全限制,我们无法看到错误。
无论如何使用ASP.Net YPOD发送自定义标头?我尝试在Application_Error事件处理程序中添加标头,但CORS标头仍然丢失。
我知道我可以完全绕过YPOD,捕获我们的Web服务中发生的任何异常,并吐出自定义错误响应,但我试图尽可能避免这种情况。
非常感谢任何建设性的意见。
答案 0 :(得分:1)
想出来。诀窍是在global.asax.cs中处理Application_EndRequest事件,然后在那里附加CORS头。