У меня есть веб-сайт в среде общего хостинга 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);
}