this.webHeaders = new WebHeaderCollection ();\r
}\r
\r
-#if NET_2_0\r
[Obsolete ("Serialization is obsoleted for this type", false)]\r
-#endif\r
protected FileWebRequest (SerializationInfo serializationInfo, StreamingContext streamingContext) \r
{\r
SerializationInfo info = serializationInfo;\r
get { return contentLength; }\r
set {\r
if (value < 0)\r
-#if NET_2_0\r
throw new ArgumentException ("The Content-Length value must be greater than or equal to zero.", "value");\r
-#else\r
- throw new ArgumentException ("value");\r
-#endif\r
contentLength = value;\r
}\r
}\r
get { return this.method; }\r
set {\r
if (value == null || value.Length == 0)\r
-#if NET_2_0\r
throw new ArgumentException ("Cannot set null or blank "\r
+ "methods on request.", "value");\r
-#else\r
- throw new ArgumentException ("Cannot set null or blank "\r
- + "methods on request.");\r
-#endif\r
this.method = value;\r
}\r
}\r
get { return timeout; }\r
set { \r
if (value < -1)\r
-#if NET_2_0\r
throw new ArgumentOutOfRangeException ("Timeout can be "\r
+ "only set to 'System.Threading.Timeout.Infinite' "\r
+ "or a value >= 0.");\r
-#else\r
- throw new ArgumentOutOfRangeException ("value");\r
-#endif\r
timeout = value;\r
}\r
}\r
\r
-#if NET_2_0\r
public override bool UseDefaultCredentials\r
{\r
get {\r
throw new NotSupportedException ();\r
}\r
}\r
-#endif\r
- \r
// Methods\r
\r
private delegate Stream GetRequestStreamCallback ();\r
private delegate WebResponse GetResponseCallback ();\r
\r
-#if NET_2_0\r
static Exception GetMustImplement ()\r
{\r
return new NotImplementedException ();\r
{\r
throw GetMustImplement ();\r
}\r
-#endif\r
\r
public override IAsyncResult BeginGetRequestStream (AsyncCallback callback, object state) \r
{\r
asyncResult.AsyncWaitHandle.WaitOne ();\r
AsyncResult async = (AsyncResult) asyncResult;\r
GetResponseCallback cb = (GetResponseCallback) async.AsyncDelegate;\r
- WebResponse webResponse = cb.EndInvoke(asyncResult);\r
+ FileWebResponse webResponse = (FileWebResponse) cb.EndInvoke(asyncResult);\r
asyncResponding = false;\r
+ if (webResponse.HasError)\r
+ throw webResponse.Error;\r
return webResponse;\r
}\r
\r
}\r
FileStream fileStream = null;\r
try {\r
- fileStream = new FileWebStream (this, FileMode.Open,\r
- FileAccess.Read, FileShare.Read);\r
+ fileStream = new FileWebStream (this, FileMode.Open, FileAccess.Read, FileShare.Read);\r
+ this.webResponse = new FileWebResponse (this.uri, fileStream);\r
} catch (Exception ex) {\r
- throw new WebException (ex.Message, ex);\r
+ this.webResponse = new FileWebResponse (this.uri, new WebException (ex.Message, ex));\r
}\r
- this.webResponse = new FileWebResponse (this.uri, fileStream);\r
- return (WebResponse) this.webResponse;\r
+ return this.webResponse;\r
}\r
\r
void ISerializable.GetObjectData (SerializationInfo serializationInfo, StreamingContext streamingContext)\r
GetObjectData (serializationInfo, streamingContext);\r
}\r
\r
-#if NET_2_0\r
- protected override\r
-#endif\r
- void GetObjectData (SerializationInfo serializationInfo, StreamingContext streamingContext)\r
+ protected override void GetObjectData (SerializationInfo serializationInfo, StreamingContext streamingContext)\r
{\r
SerializationInfo info = serializationInfo;\r
info.AddValue ("headers", webHeaders, typeof (WebHeaderCollection));\r
info.AddValue ("contentLength", contentLength);\r
info.AddValue ("timeout", timeout);\r
info.AddValue ("fileAccess", fileAccess);\r
-#if NET_2_0\r
info.AddValue ("preauthenticate", false);\r
-#else\r
- info.AddValue ("preauthenticate", preAuthenticate);\r
-#endif\r
}\r
\r
internal void Close ()\r