WebClientProtocol と WebRequest に資格情報プロパティを割り当てる関数を作成しようとしています。問題は、厳密なオプションをオンにすると、必要な 3 つのプロパティを継承して公開する基本型が見つからないことです。
資格情報、事前認証、ConnectionGroupName、
私が機能させようとしている単純なサブ:
Private Shared Sub SecureIntegrated(ByRef webRequest As ???????)
webRequest.Credentials = CredentialCache.DefaultNetworkCredentials
webRequest.PreAuthenticate = True
webRequest.ConnectionGroupName = WindowsIdentity.GetCurrent().Name
End Sub
私はアダプターの設計パターンで管理しましたが、それはやり過ぎのようです (2 つのクラスと 1 つのインターフェースを追加する必要がありました...)。誰かがより良い方法を考えることができますか? 私はジェネリックに開かれていますが、厳密なオプションをオンにして動作させる良い方法が思いつきません。
サービス プロキシと同じ名前と名前空間を持つ部分クラスに以下を追加します。
public partial class Service1
{
protected override WebRequest GetWebRequest(Uri uri)
{
HttpWebRequest request = (HttpWebRequest) base.GetWebRequest(uri);
request.KeepAlive = true;
return request;
}
}
この例ではKeepAlive
フラグを設定していますが、他にも多くの設定が可能です。