文件下载报错:引发类型为“System.OutOfMemoryException”的异常-.Net 内存溢出

CSDN:http://blog.csdn.net/huwei2003/article/details/53559272

设置了也没有用,于是想到手动清理应用程序池,但又迁配置问题于是改成最后的方式!

protected void StartStopRecycleApp(string method)
    {
        string AppPoolName = this.tbAppName.Text.Trim();
        //string method = "Recycle";

        try
        {
            DirectoryEntry appPool = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
            DirectoryEntry findPool = appPool.Children.Find(AppPoolName, "IIsApplicationPool");
            findPool.Invoke(method, null);
            appPool.CommitChanges();
            appPool.Close();
            lbMsg.Text = string.Format("应用程序池{0}{1}成功", AppPoolName,method);
        }
        catch (Exception ex)
        {
            lbMsg.Text = string.Format("应用程序池{0}{2}失败:{1}", AppPoolName, ex.Message,method);
        }
    }

tbAppName是一个textbox,用来输入应用程序池的名字,如“DefaultAppPool”。
当method="Recycle"时就是回收,为“Start”时是启动,为“Stop”时是停止。

注意:
1. 必须引入System.DirectoryServices包
2. 运行此程序的应用程序也的用户必须权限比较高,可以单独为此程序提供应用程序程,或者建立一个虚拟目录在配制里模拟高级用户(如administrators或者system),否则应用程序会抛出“拒绝访问”的异常。

var filePath=Server.MapPath("~/_UploadFile/" + paths[0]);
            if (File.Exists(filePath))
            {
                try
                {
                    FileInfo info = new FileInfo(filePath);
                    long fileSize = info.Length;
                    HttpContext.Current.Response.Clear();

                    //指定Http Mime格式为压缩包
                    HttpContext.Current.Response.ContentType = "application/x-zip-compressed";

                    // Http 协议中有专门的指令来告知浏览器, 本次响应的是一个需要下载的文件. 格式如下:
                    // Content-Disposition: attachment;filename=filename.txt
                    HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(paths[1], System.Text.Encoding.UTF8));
                    //不指明Content-Length用Flush的话不会显示下载进度
                    HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
                    HttpContext.Current.Response.TransmitFile(filePath, 0, fileSize);
                    HttpContext.Current.Response.Flush();
                }
                catch
                { }
                finally
                {
                    HttpContext.Current.Response.Close();
                }

                //byte[] buffer = null;

                //using (FileStream stream = new FileStream(Server.MapPath("~/_UploadFile/" + paths[0]), FileMode.Open, FileAccess.Read))
                //{
                //    if (stream.Length > 1000000) {
                //        StartStopRecycleApp("Recycle");
                //    }
                //    buffer = new byte[stream.Length];
                //    stream.Read(buffer, 0, buffer.Length);
                //    stream.Close();
                //}
                //if (buffer != null)
                //{
                //    Response.Clear();
                //    Response.Charset = "gb2312";
                //    Response.ContentType = "application/octet-stream";
                //    Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(paths[1], System.Text.Encoding.UTF8));
                //    Response.AddHeader("Content-Length", file.fileSize.ToString());
                //    Response.BinaryWrite(buffer);
                //    Response.Flush();
                //    Response.End();
                //}
            }
时间: 2024-10-26 20:52:24

文件下载报错:引发类型为“System.OutOfMemoryException”的异常-.Net 内存溢出的相关文章

转 引发类型为“System.ExecutionEngineException”的异常。

数据原型 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]        public struct AccountMsg        {            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 21)]            public byte[] Name;                         /*w姓名*/     

SharePoint 2013 引发类型为“System.ArgumentException”的异常。 参数名: encodedValue

SharePoint 2013 引发类型为"System.ArgumentException"的异常. 参数名: encodedValue 详细错误信息 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.ArgumentException: 引发类型为"System.ArgumentException"的异常. 参数名: encodedValue 源错误:

struts2 文件下载 报错

程序错误: 学习struts框架时,关于文件下载部分,利用struts中的stream结果类型来实现,配置完成之后,运行程序,报错如下: HTTP Status 500 - Can not find a java.io.InputStream with the name [downFile] in the invocation stack. Check the <param name="inputName"> tag specified for this action. 错

磁盘系统报错,Read-only file system

环境:阿里云 centos6.5 原因:手动回滚了一下快照磁盘导致 回滚磁盘快照之后导致系统失去了写权限,在root用户下也无法创建修改任何文件,一直报错Read-only file system 分析过程: 1,使用fcsk命令进行修复下文件系统没有发现错误 2,查看挂在报错: fstab 文件中挂载出现错误,导致文件系统没有挂载,只是进行挂载数据盘,导致的这个错误. 处理方法:重新手动挂载磁盘 mount -o remount,rw /dev/xvda1 / touch test   没有报

IntelliJ Idea中一个编译报错引发的

package verify; public class Verifier { private String name; public Verifier() { this.name = getClass().getName();//getClass()在ItelliJ idea中会报错: } public static void main(String[] args) { Verifier verifier = new Verifier(); System.out.println("可以正常编译

mysql insert 空字符报错 double类型字段插入空字符串时自动转为0

这样写就会报错:Data truncated for column 'x1' at row 1这种应该是版本问题,尤其是虚拟主机.把''改成null不会出错:x1是double类型的数据. INSERT INTO TEMPTABLE(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x3

net 编译报错:编辑器或项目正在尝试签出在内存中修改的文件,这将导致保存该文件

1,报错提示: 编辑器或项目正在尝试签出在内存中修改的文件,这将导致保存该文件. 在生成过程中保存文件是危险的,这可能会在将来导致不正确的生成输出. 是否仍然继续签出? 2,原因:licenses.licx属性设为了只读. 3,解决: a,搜索''licenses.licx',去掉只读属性; b,LicensesClear.exe放到项目根目录下,双击执行. 递归取消licenses.licx只读属性,源码 原文地址:https://www.cnblogs.com/qqhfeng/p/92947

Maven运行报错:-Dmaven.multiModuleProjectDirectory system propery is not set.

Eclipse执行maven是报了这个错~~~ 解决方案: 检查环境变量,是否配置M2_HOME 在eclipse的windows->preferences->java->Installed JREs->edit->Default VM argments,输入参数:-Dmaven.multiModuleProjectDirectory=$M2_HOME 如果是eclipse配置了多个版本的jdk,可能还是会有问题,因为使用eclipse运行maven的时候,可以选定jdk版本

Kubernetes报错Failed to get system container stats for &quot;/system.slice/kubelet.service&quot;

tail -f /var/log/message Nov 14 07:12:51 image kubelet: E1114 07:12:51.627782    3007 summary.go:92] Failed to get system container stats for "/system.slice/kubelet.service": failed to get cgroup  stats for "/system.slice/kubelet.service&qu