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();",这个问题就自然的解决了。

  • 相关阅读:
    UVa 1592 Database(巧用map)
    TZOJ 4746 Xiangqi(模拟棋盘数组)
    TZOJ 1545 Hurdles of 110m(01背包dp)
    TZOJ 2754 Watering Hole(最小生成树Kruskal)
    TZOJ 1242 求出前m大的数(预处理)
    TZOJ 5280 搜索引擎(模拟字符串)
    TZOJ 4865 统计单词数(模拟字符串)
    TZOJ 5279 马拉松比赛(广搜)
    [luogu4735]最大异或和
    小奇回地球
  • 原文地址:https://www.cnblogs.com/jasonwb/p/1875313.html
Copyright © 2011-2022 走看看