我在一个运行.NET 3.5的IIS 7共享托管环境中拥有一个网站。我有一个下载按钮,用于从服务器下载文件。
当我在本地将此应用程序部署到IIS 6时,它可以正常运行。但是在IIS 7共享托管服务器上,会发生异常。
The handle is invalid. (Exception from HRESULT: 0x80070006 (E_HANDLE)) Description: 在当前 Web 请求的执行过程中引发了未经处理的异常。请检查堆栈跟踪以获取有关错误的更多信息以及错误的原始位置。
System.Runtime.InteropServices.COMException: The handle is invalid. (Exception from HRESULT: 0x80070006 (E_HANDLE))
COMException (0x80070006): The handle is invalid. (Exception from 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);
}
An error occurred while communicating with the remote host. The error code is 0x80070006.
- David Heffernan