我正在开发一个MVC应用程序(带有JSONRESULT的控制器方法(,它将被其他几个使用HttpClient/$.ajax在其他域上运行的应用程序访问。所以我需要启用跨域调用。我知道响应只允许 1 个"访问控制允许源",所以我尝试使用自定义 ActionFilterAttribute 和 Custom-HttpModule 动态设置此响应标头。但是,如果请求来自$.ajax或Javascript应用程序,则这些都不起作用。请在这里帮助我。
注意:仅当我从web.config设置"访问控制允许原点"时,它才有效。但不幸的是,我不能在这里设置多个域。抱歉,在我的场景中,我不能对此标头使用通配符,因为请求者需要在其 $.ajax 请求上传递 Credentials: true,并且需要保持会话 ID 相同。
我不太明白你的问题,但本质上这是你可以做的:1. 从后端而不是前端调用 Web 服务(在这种情况下,您无需设置任何标头。2.从过滤器中添加您提到的标头,该过滤器将将它们应用于所有响应。
为什么我说我不明白你的问题:
但是,如果请求来自 $.ajax 或 Javascript应用程序。
这些标头必须在从服务器到客户端时设置,而不是从客户端到服务器。