Zer*_*gan 3 c# asp.net ajax cors
我不是后端开发人员,所以如果我没有提供足够的信息,我提前道歉。我只是想找到一些资源来帮助我的后端开发人员了解我正在尝试做什么。
我正在尝试向使用 ASP.NET Web 表单构建的 Web 应用程序内部的 rss feed 发出 AJAX GET 请求。但是,由于跨源安全性,该请求被阻止。我想为与我们的 RSS feed ( /page/rss/{id} )关联的路由启用 CORS 。
我可以使用以下命令在我们的 webconfig 中启用 CORS:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" values="*" />
<add name="Access-Control-Allow-Methods" values="GET" />
<add name="Access-Control-Allow-Headers" values="Content-Type" />
</customHeaders>
</httpProtocol>
Run Code Online (Sandbox Code Playgroud)
但是,这使得它适用于整个项目,这不是我想要的。我们的路由在 XML 文件中定义,如下所示:
<namespace.routing>
<routings>
<route name="publishedPage" url="page/{PageName}" page="~/Default.aspx" />
</routings>
<defaults>
<default url="http://blog.example.com" domain="example.com" page="page/homepage" />
</defaults>
</namespace.routing>
Run Code Online (Sandbox Code Playgroud)
那么,如何在 ASP.NET Web 窗体中的特定路径上启用 CORS?如果有人能给我指出一些对我们有帮助的资源,那就太好了。如果您需要更多信息,我很乐意提供。谢谢!
我不确定您如何返回 rss 端点,但如果您有权访问该HttpContext对象,则可以使用它直接提供 CORS 标头。
HttpContext.Current.Response.AppendHeader("Access-Control-Allow-Origin", "*");
HttpContext.Current.Response.AppendHeader("Access-Control-Allow-Methods", "Get");
HttpContext.Current.Response.AppendHeader("Access-Control-Allow-Headers", "Content-Type");
Run Code Online (Sandbox Code Playgroud)
根据您的应用程序的年龄,您可能需要使用AddHeader而不是AppendHeader.
| 归档时间: |
|
| 查看次数: |
8602 次 |
| 最近记录: |