SOAP WCF リクエストで圧縮を有効にしたいと考えています。ここで説明するソリューションは完全に機能します。これには 2 つの部分があります。
圧縮をオンにする IWebRequestCreate 継承クラスの実装。これは問題ではありません。
上記のクラスを使用する必要があることを app.config ファイルで指定します。これは、app.config ファイル内の次の XML で行われます。
:
<configuration>
<system.net>
<webRequestModules>
<remove prefix="http:"/>
<add prefix="http:"
type="Pajocomo.Net.CompressibleHttpRequestCreator, Pajocomo" />
</webRequestModules>
</system.net>
</configuration>
ただし、この C# プロジェクトは DLL (SSIS データ フロー コンポーネント) であり、app.config ファイルを '見る' ことができないため、これは問題です (また、呼び出し元の .exe の構成ファイルを変更する必要もありません)。
ここでの質問では、この問題の回避策について説明します (つまり、BasicHttpBinding および EndpointAddress オブジェクトを作成し、それらをクライアントの c'tor に送信します)。これをある程度使用して、プロキシの許可、タイムアウトの変更、サービスの URL の変更などに成功しました。
しかし、上記の XML を同様の方法で置き換えるメカニズムがわかりません。