我有一个基于特定条件的页面,我要么做Response.Redirect或Server.Transfer。现在我想为这两种情况添加一个标题。所以我做了以下如何在Server.Transfer之前在Asp.Net中设置Response Header?
Response.AddHeader("Vary", "User-Agent");
if (condition)
{
Server.Transfer(redirectUrl);
}
else
{
Response.Redirect(redirectUrl);
}
现在,当代码通过Server.Transfer的代码路径得好,Vary标头被设置为*而当它通过Response.Redirect的去头正确设置为用户代理。
为什么会发生这种情况,我怎样才能将Response Header设置为相同的情况?
我认为在这种情况下HttpContext.Items可能比Session更合适。会话将在请求中持续存在,而一旦请求完成,项目将被清除。 – 2012-07-10 16:13:44
@DeanWard你有点!随意编辑有关此改进的答案。 – 2012-07-10 16:16:03