5
class AdvancedWebRequest : HttpWebRequest {
    private static readonly ILog log = log4net.LogManager.GetLogger(typeof(AdvancedWebRequest));

    public AdvancedWebRequest(string url, CookieContainer cookies = null) {
        Create(url);
        UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22";
        Referer = Address.AbsoluteUri;

        if (cookies == null) {
            CookieContainer = Program.request.CookieContainer;
        } else {
            CookieContainer = cookies;
        }
    }
}

这是我想做的事情,所以基本上得到已经设置了一些变量的 HttpWebRequest,所以我不能总是自己设置它们。

得到错误:

'System.Net.HttpWebRequest.HttpWebRequest()' is obsolete: 'This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.' \Extensions\AdvancedWebRequest.cs   14  10  

有什么建议,不能HttpWebRequest真正扩展吗?

4

2 回答 2

3

您可以使用这样的扩展方法:

public static DoRequest(this HttpWebRequest req){
//do something
}

然后你可以像这样调用这个方法:

webrequest.DoRequest();

有关更多信息,请查看 MSDN 页面:http: //msdn.microsoft.com/en-us/library/vstudio/bb383977.aspx

于 2013-03-03T09:47:13.143 回答
3

你不能继承,HttpWebRequest但你可以继承WebRequest

在此处查看类似问题的答案。

于 2013-03-02T12:38:34.820 回答