2016-12-27 3 views
2

私は、広く自動生成された石鹸のWebプロキシを使用している大きなレガシーソリューションを持っています。私はTLS 1.2接続をサポートするように設定したいので、私はTLS 1.2をsoap Webプロキシとして有効にする最も簡単な方法は何ですか?

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12を設定する必要があります。

これを達成する最も簡単な方法は何ですか?プロキシのサブクラス化は大量のコード変更を必要とするため、私にとっては機能しません。また、部分的なクラスを使用しても、設定コードを付けるのには適していません。

+0

あなたは、このためのソリューションを見つけますか? – NickG

+0

私は自分のソリューションを投稿しました。私はそれがあなたのためのいくつかの手がかりを与えることを願っています。 – Kalitsov

答えて

0

私が選択したソリューションは、私が必要とするすべてのコンテキストの初期化を呼び出すことです。それはより良い解決策が存在する可能性があるので、私は私のことを改善するために開いています。

まず私が定義:

public class Bootstrapper 
{ 
    private static readonly object ensureInitializationField = null; 

    static Bootstrapper() 
    { 
     // REFERENCE: enable TLS 1.2 
     ServicePointManager.SecurityProtocol = 
      SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; 
    } 

    /// <summary> 
    /// Invokes the code in the static constructor. 
    /// </summary> 
    /// <remarks> 
    /// Code in the static constructor is called only once. 
    /// </remarks> 
    public static void EnsureInitialization() 
    { 
     Equals(ensureInitializationField, null); 
    } 
} 

をし、後で私はこのような(例えばGlobal.asax.cs)目的のコンテキストから呼び出し:

Bootstrapper.EnsureInitialization(); 
関連する問題