lock (locker) {
SetBusy ();
- request = SetupRequest (address, "GET");
- request.BeginGetResponse (new AsyncCallback (DownloadStringAsyncCallback), userToken);
+ try {
+ request = SetupRequest (address, "GET");
+ request.BeginGetResponse (new AsyncCallback (DownloadStringAsyncCallback), userToken);
+ }
+ catch (Exception e) {
+ WebException wex = new WebException ("Could not start operation.", e);
+ OnDownloadStringCompleted (
+ new DownloadStringCompletedEventArgs (null, wex, false, userToken));
+ }
}
}
lock (locker) {
SetBusy ();
- request = SetupRequest (address, "GET");
- request.BeginGetResponse (new AsyncCallback (OpenReadAsyncCallback), userToken);
+ try {
+ request = SetupRequest (address, "GET");
+ request.BeginGetResponse (new AsyncCallback (OpenReadAsyncCallback), userToken);
+ }
+ catch (Exception e) {
+ WebException wex = new WebException ("Could not start operation.", e);
+ OnOpenReadCompleted (
+ new OpenReadCompletedEventArgs (null, wex, false, userToken));
+ }
}
}
}
finally {
OnOpenReadCompleted (
- new OpenReadCompletedEventArgs (stream, request.RequestUri, ex, cancel, result.AsyncState));
+ new OpenReadCompletedEventArgs (stream, ex, cancel, result.AsyncState));
}
}
lock (locker) {
SetBusy ();
- request = SetupRequest (address, method);
- request.BeginGetRequestStream (new AsyncCallback (OpenWriteAsyncCallback), userToken);
+ try {
+ request = SetupRequest (address, method);
+ request.BeginGetRequestStream (new AsyncCallback (OpenWriteAsyncCallback), userToken);
+ }
+ catch (Exception e) {
+ WebException wex = new WebException ("Could not start operation.", e);
+ OnOpenWriteCompleted (
+ new OpenWriteCompletedEventArgs (null, wex, false, userToken));
+ }
}
}
lock (locker) {
SetBusy ();
- request = SetupRequest (address, method);
- object[] bag = new object [] { encoding.GetBytes (data), userToken };
+ try {
+ request = SetupRequest (address, method);
+ object[] bag = new object [] { encoding.GetBytes (data), userToken };
- request.BeginGetRequestStream (new AsyncCallback (UploadStringRequestAsyncCallback), bag);
+ request.BeginGetRequestStream (new AsyncCallback (UploadStringRequestAsyncCallback), bag);
+ }
+ catch (Exception e) {
+ WebException wex = new WebException ("Could not start operation.", e);
+ OnUploadStringCompleted (
+ new UploadStringCompletedEventArgs (null, wex, false, userToken));
+ }
}
}
// Author:
// Atsushi Enomoto <atsushi@ximian.com>
//
-// (C) 2006 Novell, Inc. (http://www.novell.com)
+// Copyright (C) 2006,2009 Novell, Inc (http://www.novell.com)
//
//
{
public class OpenReadCompletedEventArgs : AsyncCompletedEventArgs
{
-#if NET_2_1
- internal OpenReadCompletedEventArgs (Stream result, Uri address,
-#else
- internal OpenReadCompletedEventArgs (Stream result,
-#endif
- Exception error, bool cancelled, object userState)
+ internal OpenReadCompletedEventArgs (Stream result, Exception error, bool cancelled, object userState)
: base (error, cancelled, userState)
{
-#if NET_2_1
- this.address = address;
-#endif
this.result = result;
}
Stream result;
public Stream Result {
- get { return result; }
- }
-
+ get {
#if NET_2_1
- Uri address;
- public Uri Address {
- get { return address; }
- }
+ RaiseExceptionIfNecessary ();
#endif
+ return result;
+ }
+ }
}
}