A Domain Name System (DNS) query may take up to 15 seconds to return or time out. If your request contains a host name that requires resolution and you set Timeout to a value less than 15 seconds, it may take 15 seconds or more before a WebException is thrown to indicate a time-out on your request.
// Create a Uri object.
Uri myUrl = new Uri ("file://" + fileName);
// Create a FileWebRequest object.
myFileWebRequest = (FileWebRequest)WebRequest.CreateDefault (myUrl);
// Set the time-out to the value selected by the user.
myFileWebRequest.Timeout = timeout;