2010-10-01 102 views
1

這是我想要做的。我有許多客戶端設備與(數百個)通信的程序。不幸的是,有時當我添加新功能時,它需要我做出影響這些客戶端的重大更改。所以通常我們必須同時更新客戶端和服務器。在C中實現反向代理#

所以我有一個想法,我將在同一時間運行應用程序的每個版本,並讓Web服務器理解並代理請求和響應。我從codeproject站點發現的一些代碼開始:http://www.codeproject.com/KB/IP/reverseproxy.aspx。但是,這工作正常,當我對我的程序運行它時,會話似乎不起作用。爲了澄清,會話在代理正在讀取的原始程序中不起作用。

從我的理解,這個代理服務器代理cookie請求,獲取和發佈。有沒有人有什麼想法,我可以做些什麼來改善這一點?

現在,我知道有些人會希望建議使用URL重寫或應用程序路由,但是;我需要根據帖子/獲取內容而不僅僅是URL來決定要展示的頁面。

附加信息:我在Windows 2003服務器上使用IIS6進行安裝。

回答

1

如果您已經部署,這將無濟於事,但如果您需要更改服務的語義,請更改URL。舊客戶端使用舊URL,按照他們想要的方式行事,新客戶端使用新URL。

這與您發佈API時所做的相似 - 如果您有很多無法控制的調用者,則不會更改函數的返回值。相反,你會添加另一個功能。

+0

我也這麼想過,但問題是這個應用程序已經部署。另外,我想將它用於CSR使用的站點。我不希望每次發佈新版本時都指示他們使用不同的站點。但我無法每次都升級它們。 – 2010-10-01 19:05:59