private WebResponse CreateResponse()
{
if (_writePending || _writing)
{
lock (this)
{
if (_writePending || _writing)
{
_blockReaderUntilRequestStreamDisposed = new ManualResetEventSlim();
}
}
}
_blockReaderUntilRequestStreamDisposed?.Wait();
try
{
return _response ?? (_response = new FileWebResponse(this, _uri, _fileAccess, !_syncHint));
}
catch (Exception e)
{
throw new WebException(e.Message, e);
}
}