Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Baulig <mabaul@microsoft.com>2017-12-14 12:06:47 +0300
committerMarek Safar <marek.safar@gmail.com>2017-12-14 12:06:47 +0300
commitcd09ddbc55c9866703d43fb8b089978dec2c4ef3 (patch)
tree8c2a3d63fdf9f36727316e78d3597daaa0fe9238 /mcs/class/referencesource
parent76d7ab281db976c40e9f15176e0b5a3488bad869 (diff)
New PR for the new web stack (#6125)
Diffstat (limited to 'mcs/class/referencesource')
-rw-r--r--mcs/class/referencesource/System/net/System/Net/webclient.cs31
1 files changed, 8 insertions, 23 deletions
diff --git a/mcs/class/referencesource/System/net/System/Net/webclient.cs b/mcs/class/referencesource/System/net/System/Net/webclient.cs
index 96cf1c91007..3b6da7ced09 100644
--- a/mcs/class/referencesource/System/net/System/Net/webclient.cs
+++ b/mcs/class/referencesource/System/net/System/Net/webclient.cs
@@ -1805,20 +1805,9 @@ namespace System.Net {
OnOpenReadCompleted((OpenReadCompletedEventArgs)arg);
}
private void OpenReadAsyncCallback(IAsyncResult result) {
-#if MONO
- // 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;
- AsyncOperation asyncOp = (AsyncOperation) lazyAsyncResult.AsyncState;
- WebRequest request = (WebRequest) lazyAsyncResult.AsyncObject;
-#endif
+ Tuple<WebRequest,AsyncOperation> userData = (Tuple<WebRequest,AsyncOperation>)result.AsyncState;
+ WebRequest request = userData.Item1;
+ AsyncOperation asyncOp = userData.Item2;
Stream stream = null;
Exception exception = null;
try {
@@ -1857,7 +1846,7 @@ namespace System.Net {
m_AsyncOp = asyncOp;
try {
WebRequest request = m_WebRequest = GetWebRequest(GetUri(address));
- request.BeginGetResponse(new AsyncCallback(OpenReadAsyncCallback), asyncOp);
+ request.BeginGetResponse(new AsyncCallback(OpenReadAsyncCallback), new Tuple<WebRequest,AsyncOperation>(request, asyncOp));
} catch (Exception e) {
if (e is ThreadAbortException || e is StackOverflowException || e is OutOfMemoryException) {
throw;
@@ -1887,13 +1876,9 @@ namespace System.Net {
OnOpenWriteCompleted((OpenWriteCompletedEventArgs)arg);
}
private void OpenWriteAsyncCallback(IAsyncResult result) {
-#if MONO
- var lazyAsyncResult = (WebAsyncResult) result;
-#else
- LazyAsyncResult lazyAsyncResult = (LazyAsyncResult) result;
-#endif
- AsyncOperation asyncOp = (AsyncOperation) lazyAsyncResult.AsyncState;
- WebRequest request = (WebRequest) lazyAsyncResult.AsyncObject;
+ Tuple<WebRequest,AsyncOperation> userData = (Tuple<WebRequest,AsyncOperation>)result.AsyncState;
+ WebRequest request = userData.Item1;
+ AsyncOperation asyncOp = userData.Item2;
WebClientWriteStream stream = null;
Exception exception = null;
@@ -1943,7 +1928,7 @@ namespace System.Net {
try {
m_Method = method;
WebRequest request = m_WebRequest = GetWebRequest(GetUri(address));
- request.BeginGetRequestStream(new AsyncCallback(OpenWriteAsyncCallback), asyncOp);
+ request.BeginGetRequestStream(new AsyncCallback(OpenWriteAsyncCallback), new Tuple<WebRequest,AsyncOperation>(request, asyncOp));
} catch (Exception e) {
if (e is ThreadAbortException || e is StackOverflowException || e is OutOfMemoryException) {
throw;