在C#中实现反向代理

时间:2010-10-01 18:50:49

标签: c# iis reverse-proxy

这就是我想要做的。我有一个许多客户端设备与之通信的程序(数百个)。不幸的是,有时当我添加新功能时,它需要我做出影响这些客户端的重大更改。因此,我们通常必须同时更新客户端和服务器。

所以我有一个想法,我将同时运行应用程序的每个版本,让Web服务器理解,从而代理请求和响应。我从codeProject网站上找到的一些代码开始:http://www.codeproject.com/KB/IP/reverseproxy.aspx。然而,这没关系;当我对我的程序运行它时,会话似乎不起作用。为了澄清,会话在代理正在读取的原始程序中不起作用。

据我了解,此代理代理cookie请求,获取和发布。有没有人对我能做些什么来改进呢?

现在,我知道有些人会建议使用URL重写或应用程序路由;我需要根据帖子/获取的内容而不仅仅是URL来决定要呈现的页面。

其他信息:我在Windows 2003服务器上使用IIS6作为产品。

1 个答案:

答案 0 :(得分:1)

如果您已经部署,这将无济于事,但如果您需要更改服务的语义,请同时更改URL。旧客户端使用旧URL,按照他们想要的方式运行,新URL使用新URL。

这类似于你在发布API时所做的事情 - 如果你有很多你无法控制的来电者,你就不会改变一个功能的回报。相反,你会添加另一个功能。