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

  • 相关阅读:
    2558: 游起来吧!超妹!
    2554: 巨巨来袭
    2557: 不如来21玩一局?
    tortoisesvn 本项目的忽略项
    【C语言】随机数随机种子
    【leetcode】按奇偶排序数组
    【leetcode】按奇偶排序数组 II
    【leetcode】根据数字二进制下 1 的数目排序
    【leetcode】合并排序的数组
    【leetcode】稀疏数组搜索
  • 原文地址:https://www.cnblogs.com/jasonwb/p/1875313.html
Copyright © 2011-2022 走看看