}
}
+ [Test]
+ public void OpenReadTaskAsyncOnFile ()
+ {
+ var tmp = Path.GetTempFileName ();
+ string url = "file://" + tmp;
+
+ var client = new WebClient ();
+ var task = client.OpenReadTaskAsync (url);
+ Assert.IsTrue (task.Wait (2000));
+ }
+
[Test] // OpenWrite (string)
public void OpenWrite1_Address_Null ()
{
}
private void OpenReadAsyncCallback(IAsyncResult result) {
#if MONO
- var lazyAsyncResult = (WebAsyncResult) result;
+ // It can be removed when we are full referencesource
+ AsyncOperation asyncOp = (AsyncOperation) result.AsyncState;
+ WebRequest request;
+ if (result is WebAsyncResult) {
+ request = (WebRequest) ((WebAsyncResult) result).AsyncObject;
+ } else {
+ request = (WebRequest) ((LazyAsyncResult) result).AsyncObject;
+ }
#else
LazyAsyncResult lazyAsyncResult = (LazyAsyncResult) result;
-#endif
AsyncOperation asyncOp = (AsyncOperation) lazyAsyncResult.AsyncState;
WebRequest request = (WebRequest) lazyAsyncResult.AsyncObject;
+#endif
Stream stream = null;
Exception exception = null;
try {