私のアプリケーションでは、C# で HTTP/S プロキシ サーバーを実装する必要があります。
このサイトのいくつかの回答では、柔軟性を最大限に高めるためにクラスTcpClient
とクラスを使用することを提案しています。TcpListener
私は過去にこの方法をとったことがあり、非常にうまく機能することはわかっていますが、パイプライン処理、接続管理、エンコーディングなどの細かい部分を再実装する作業に圧倒されたくありません。
別の解決策は、ここ StackOverflow のいくつかの回答で提案されているFiddlerCoreやMentalisなどの既存のプロキシを利用することです。
WCF について具体的にお尋ねするのは、その柔軟性を活用したいからです。特に、最終的にはプロキシをWindows Azure Service Bus Relay Service として公開したいと考えています。私はWCF が提供するさまざまな拡張ポイントを熟読しましたが、どれが私の場合に役立つかわかりません。
アップデート
明確にするために、これは私が必要としているもののほとんどです: http://dotnetbyexample.blogspot.fr/2008/11/writing-simple-http-proxy-using-wcf.html
ただし、これはサービス コントラクトがあるため、厳密な HTTP プロキシではありません。ブラウザのアドレス バーにプロキシの URL を入力して、たとえば Stack Overflow Web サイトを閲覧できるようにする必要があります。たとえば、すべてのトラフィックは HTTP プロキシによって傍受され、必要に応じてスタック オーバーフローにリダイレクトされる必要があります。