diff options
author | Martin Baulig <mabaul@microsoft.com> | 2017-12-14 12:06:47 +0300 |
---|---|---|
committer | Marek Safar <marek.safar@gmail.com> | 2017-12-14 12:06:47 +0300 |
commit | cd09ddbc55c9866703d43fb8b089978dec2c4ef3 (patch) | |
tree | 8c2a3d63fdf9f36727316e78d3597daaa0fe9238 /mcs/class/referencesource | |
parent | 76d7ab281db976c40e9f15176e0b5a3488bad869 (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.cs | 31 |
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; |