非同期のWebリクエストを生成し、そのタイムアウトを設定することができました。ただし、接続のセットアップはまだUIスレッド上にGetRequestStream
あり、インターネット接続がない場合はフリーズするようです。これを解決する方法は?
private WebRequest getPostLoginRequest (string username, string password)
{
string postData = string.Format (@"<login><user>{0}</user><password>{1}</password></login>", username, password);
byte[] buf = Encoding.UTF8.GetBytes (postData);
var request = HttpWebRequest.Create (String.Format (@"{0}/auth/", baseServiceUrl));
request.Method = "POST";
request.ContentType = "application/xml";
request.ContentLength = buf.Length;
request.GetRequestStream ().Write (buf, 0, buf.Length);
return request;
}