zoukankan      html  css  js  c++  java
  • 下载文件时报错 "由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值" 解决方法

    下载文件的代码

     /// <summary>
        /// 下载文件操作类
        /// </summary>
        public static class DownLoadFiles
        {
            /// <summary>  
            /// 下载文件
            /// </summary>
            /// <param name="strDownLoadFileName">要下载的文件名称</param>
            /// <returns></returns>
            public static void DownLoadFile(string strDownLoadFileName)
            {
                if (String.IsNullOrEmpty(strDownLoadFileName))return;
                try
                {
                    FileInfo info = new FileInfo(strDownLoadFileName);
                    HttpContext.Current.Response.Clear();
                    HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(info.Name));
                    HttpContext.Current.Response.AddHeader("Content-Length", info.Length.ToString());
                    HttpContext.Current.Response.ContentType = "application/octet-stream";//ms-excel
                    HttpContext.Current.Response.WriteFile(info.FullName);
                    //HttpContext.Current.Response.End();
                    HttpContext.Current.ApplicationInstance.CompleteRequest();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }

    // 最初是 HttpContext.Current.Response.End() 总是报错,异常“由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值”后来将上面的"HttpContext.Current.Response.End();"改成"HttpContext.Current.ApplicationInstance.CompleteRequest();",这个问题就自然的解决了。

  • 相关阅读:
    PCB Genesis加邮票孔(邮票孔增加方向判断--左右上下)实现算法
    PCB SLOT槽孔数量计算方法,同CAM350孔数一致 实现方法
    从上到下打印二叉树II
    数据结构与算法(2)---顺序表
    栈的压入弹出序列
    包含min函数的栈
    顺时针打印矩阵
    数据结构与算法(1)--绪论
    反转链表
    数值的整数次方(快速幂)
  • 原文地址:https://www.cnblogs.com/jasonwb/p/1875313.html
Copyright © 2011-2022 走看看