我有一個基於特定條件的頁面,我要麼做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