C# WebRequest和WebClientProtocol的公共基类型

C# WebRequest和WebClientProtocol的公共基类型,c#,.net,vb.net,web-services,security,C#,.net,Vb.net,Web Services,Security,我正在尝试使用一个函数为WebClientProtocol和WebRequest分配credentials属性。问题是,启用strict选项后,我找不到同时继承和公开我需要的3个属性的基类型: 证书, 预认证, 连接组名称 我正在尝试的简单潜艇: Private Shared Sub SecureIntegrated(ByRef webRequest As ???????) webRequest.Credentials = CredentialCache.DefaultNetw

我正在尝试使用一个函数为WebClientProtocol和WebRequest分配credentials属性。问题是,启用strict选项后,我找不到同时继承和公开我需要的3个属性的基类型:

证书, 预认证, 连接组名称

我正在尝试的简单潜艇:

Private Shared Sub SecureIntegrated(ByRef webRequest As ???????)

        webRequest.Credentials = CredentialCache.DefaultNetworkCredentials
        webRequest.PreAuthenticate = True
        webRequest.ConnectionGroupName = WindowsIdentity.GetCurrent().Name

End Sub
我使用适配器设计模式进行了管理,但这似乎有些过分(我不得不添加两个类和一个接口…)。有人能想出更好的办法吗?我对generic开放,但我想不出一个好方法让它在启用strict选项的情况下工作


在与服务代理具有相同名称和命名空间的分部类中添加以下内容:

public partial class Service1
{
    protected override WebRequest GetWebRequest(Uri uri)
    {
        HttpWebRequest request = (HttpWebRequest) base.GetWebRequest(uri);
        request.KeepAlive = true;
        return request;
    }
}

此示例设置了
KeepAlive
标志,但可以设置许多其他内容。

请参阅@JohnSaunders嘿,John,我似乎无法从工作中访问该链接(这里的偏执狂是法律),您可以发布博客帖子的相关部分吗?@JohnSaunders嘿,John,是的,我看到了这个方法,但我不能修改代理,因为我正在动态生成它。有没有一种通用的方法来做这样的事情?@JohnSaunders Nevermind我可以像你建议的那样从动态CodeCompileUnit中重写它。谢谢!