2012-04-17 57 views
2

敢肯定我知道這個問題的答案之一,但要確保我不會失去了一些東西......你可以設置HTTP標頭髮布

運行ASP.NET 4.0之前,並有我需要的請求將用戶發送到第三方應用程序,但在此之前設置HTTP標頭值。這將是一個請求標題。我可以將Response Header設置爲沒有問題,但由於集合是隻讀的,因此無法使用Request標頭執行此操作。從本質上講,過程如下:

  1. 用戶點擊按鈕開始轉移到第三方應用程序
  2. 頁面回和我們搶用戶信息 - 在這一點上,我需要設置頁眉
  3. 問題一Response.Redirect並將它們發送到第三方應用程序。

注意:我沒有卡在Response.Redirect;我可以將表單更改爲發佈到第三方應用程序,只是作爲轉移用戶的方式,沒關係。

我相信我可以設置一個IIS重寫規則來設置標題(基於這篇文章:http://learn.iis.net/page.aspx/686/setting-http-request-headers-and-iis-server-variables/),但我不想走這條路線,因爲標題值將包含一個用戶標識,我寧願不公開對用戶來說 - 即使是短暫的一刻。我當然明白,即使是一個標題也不會隱藏,因爲有人可以檢查該頁面,但我並不擔心這一點。

任何想法將是一個很大的幫助。

感謝, 瑞安

回答

0

如何:

using System.Net; 

HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://www.google.com"); 
req.Headers.Add(new HttpRequestHeader(), "my header content"); 
+0

Widor - 感謝,將工作設置了頭,但關鍵的是,我不是簡單地解析響應 - 我需要發用戶訪問該頁面。這是一個完整的報告應用程序,因此用戶將被髮送到該應用程序並保持一點;不是簡單地請求一個頁面並返回到我們的應用程序 – 2012-04-17 10:41:54

+0

好的,那麼你需要把他們在上面步驟1中產生的Request請求用於'req'對象。然後你可以使用'Server.Transfer'將整個批量轉發到新的位置。 – Widor 2012-04-17 10:50:39

+0

Server.Transfer採用虛擬路徑,因此只能在同一應用程序內傳輸時才能工作 - 我無法將用戶發送到第三方站點。 – 2012-04-17 11:15:21