【发布时间】:2016-01-24 15:30:03
【问题描述】:
这是我的 WebClient 类:
class MyWebClient : WebClient
{
private CookieContainer _cookieContainer = new CookieContainer();
public MyWebClient(string url, string login, string password)
{
var data = new NameValueCollection
{
{ "username", login},
{ "password", password}
};
UploadValues(new Uri(url), data);
}
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
if (request is HttpWebRequest)
{
(request as HttpWebRequest).CookieContainer = _cookieContainer;
}
return request;
}
}
这是示例,我想如何使用它:
private MyWebClient _client;
private void btnLogin_Click(object sender, RoutedEventArgs e)
{
_client = new MyWebClient("http://website/login.php", "account", "pw");
}
private async void btnContent_Click(object sender, RoutedEventArgs e)
{
_client = await _client.DownloadStringTaskAsync("http://website");
}
我的问题是.. 使用这个 MyWebClient 类,我如何异步登录? 希望有人能帮帮我,谢谢!
【问题讨论】:
-
你不能使用
UploadValuesAsync并将其移到构造函数之外吗?
标签: c# wpf async-await webclient