У меня есть веб-сайт в среде совместного размещения IIS 7. Он запускает .NET 3.5. У меня есть кнопка загрузки, чтобы загрузить файл с сервера.
Когда я локально развертываю это приложение в IIS 6, он работает нормально. На сервере хостинга IIS 7 возникает исключение.
Неверный дескриптор. (Исключение из HRESULT: 0x80070006 (E_HANDLE)) Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека, чтобы узнать больше об ошибке и где она возникла в коде. System.Runtime.InteropServices.COMException: дескриптор недействителен. (Исключение из HRESULT: 0x80070006 (E_HANDLE))
COMException (0x80070006): дескриптор недействителен. (Исключение из HRESULT: 0x80070006 (E_HANDLE))] [HttpException (0x80004005): Произошла ошибка при общении с удаленным хостом. Код ошибки: 0x80070006.]
Как это можно решить?
string strRequest = Convert.ToString(Request.QueryString.Get("file"));
System.IO.FileInfo file = new System.IO.FileInfo(strRequest);
if (file.Exists)
{
Response.Clear();
Response.ContentType = ReturnExtension(System.IO.Path.GetExtension(file.Name));
Response.AppendHeader("Content-Disposition", "attachment; filename=" + file.Name);
Response.TransmitFile(strRequest);
Response.End();
HttpContext.Current.ApplicationInstance.CompleteRequest();
//DownloadFile(file.FullName, file.Name);
}