2010-04-23 42 views
4

我讀了一些地方,你不能刪除響應頭一旦他們已經被添加。鑑於此,我想知道在標準的ASP.NET Web窗體應用程序中最初添加響應標頭的位置。例如,這些:什麼時候在ASP.NET Web窗體中創建響應標頭?

Date Fri, 23 Apr 2010 16:25:56 GMT 
Server Microsoft-IIS/6.0 
X-Powered-By ASP.NET 
Cache-Control private 

我能阻止它發生嗎?後續標題是否會覆蓋舊標題?我的問題甚至有意義嗎?

回答

3

您提到的標頭是由IIS自動添加的。有關更改它們的說明,請參閱Serverfault here上發佈的問題。

但是,爲了回答你的什麼時候,我相信你記住你讀錯的問題。

我相信你所指的是你不能修改任何http標頭一旦內容已被髮送回瀏覽器。只要您使用Response.Write或Response.Redirect方法,就會發生在Rendering事件中。

編輯 - 添加

順便說一下,有一些事情你不能做oncew頭已被送往...修改餅乾,使用的Response.Redirect等

見這些鏈接:

Why do I get "Cannot redirect after HTTP headers have been sent" when I call Response.Redirect()?

http://www.bing.com/search?q=HTTP+headershave+been+sent&src=IE-SearchBox&FORM=IE8SRC

添加更多

最後 - 更好的答案。我正在頁面生命週期中尋找發送httpheaders的事件。實際上,它們是由HttpApplication對象發送的。在此之前觸發的事件是PreSendRequestHeaders event,每this article

+0

現在我完成了。這是足夠的編輯一個答案。 – David 2010-04-23 19:27:21

2

X-Powered-By: ASP.NET標頭由IIS添加。您可以通過在HTTP標題選項卡上編輯「自定義HTTP標題」來全局或在每個站點上刪除此信息。

+0

感謝您的回覆。這非常有幫助,但我仍然在尋找更完整的答案。 – Jones 2010-04-23 16:44:57

相關問題