我正在尝试在网站的每个页面请求上设置Http标头。为此,添加标头的代码(Response.AppendHeader(“p3p”,“{HeaderInfoHere}”))放置在基本控制器的OnActionExecuted覆盖中(因此无论何时调用任何操作都会调用它)。
问题是,只要在调用操作时(所有其他控制器都从基本控制器继承)附加标题,标题就会反复添加,具体取决于有多少其他操作(部分视图等)被称为初始请求的一部分。
我无法查询Response对象的Headers集合 - 我们得到一个PlatformNotSupported异常,因为在我们的服务器上禁用了IIS集成管道模式(我无法更改)所以我无法直接检查此标头是否已经已被添加。
任何人都可以建议一种更好的方法将标头(一次)附加到MVC中的GET请求或解决此方案吗?
答案 0 :(得分:0)
将数据添加到您的ControllerContext(可能在RouteData中),注意您的代码'我已添加此标题',您在添加之前检查了该标题。您也可以尝试使用Session(在任何人窒息之前 - TempData已经使用它)
可以通过controllerContext.HttpContext.Session
访问该会话