对于我的应用程序,我需要在C#中实现HTTP / S代理服务器。
本网站上的一些答案建议使用TcpClient
和TcpListener
类以获得最大的灵活性。在过去,我已经采用了这条路线并且我知道它可以很好地工作,但是,我不想被重新实现流水线,连接管理的挑剔细节的任务所淹没,编码等。
另一种解决方案是利用现有的代理,例如FiddlerCore或Mentalis,在StackOverflow上的几个答案中提出。
我特别询问WCF的原因是我想利用它的灵活性。特别是,我希望最终将代理公开为Windows Azure Service Bus Relay服务。我已经仔细阅读了various extensibility points offered by WCF,但我很遗憾在我的案例中哪一个会有所帮助。
更新
澄清一下,这几乎是我需要的东西: http://dotnetbyexample.blogspot.fr/2008/11/writing-simple-http-proxy-using-wcf.html
但是,这不是严格的HTTP代理,因为它有服务合同。我真的需要能够通过在浏览器的地址栏中输入代理的URL来浏览Stack Overflow网站。例如,所有流量都应该由HTTP代理拦截并重定向到Stack Overflow。