• 如何将ASP.NET页面保存为HTML文件


    以下为实现代码:
            /// <summary>
            /// 将文件保存为
            /// </summary>
            /// <param name="uri">请求的地址</param>
            /// <param name="queryString">查询字符串</param>
            /// <param name="targetFilePath">保存的文件路径</param>
            public static void SavePage(System.Uri uri, string queryString, string targetFilePath)
            {
                //用于保存文件的流
                System.IO.FileStream stream = null;

                //用于保存写入队对象
                System.IO.TextWriter writer = null;

                try
                {
                    //创建Http请求
                    HttpRequest request = new HttpRequest(uri.AbsolutePath, uri.AbsoluteUri, queryString);

                    //创建保存的文件流
                    stream = new System.IO.FileStream(targetFilePath, System.IO.FileMode.Create);

                    //创建文件写入对象
                    writer = new System.IO.StreamWriter(stream, System.Text.UTF8Encoding.UTF8);

                    //创建Http反馈
                    HttpResponse Response = new HttpResponse(writer);

                    //创建Http上下文
                    HttpContext context = new HttpContext(request, Response);

                    //添加Session
                    context.Items.Add("AspSession", HttpContext.Current.Session);

                    //创建页面分析器
                    System.Web.IHttpHandler handler = System.Web.UI.PageParser.GetCompiledPageInstance(uri.AbsolutePath,
                        HttpContext.Current.Server.MapPath(uri.AbsolutePath), context);

                    //执行请求
                    handler.ProcessRequest(context);

                    //写入信息
                    writer.Flush();

                    //关闭
                    writer.Close();
                }
                finally
                {
                    //关闭写入器
                    if (null != writer)
                    {
                        writer.Dispose();
                    }

                    //关闭流
                    if (null != stream)
                    {
                        //关闭
                        stream.Dispose();
                    }
                }
            }
    需要注意的是Session的传递,如果不传递Session,那么与Session相关的数据就无法获得了。

  • 相关阅读:
    Ubuntu linux安装ssh server
    Ubuntu下PHP配置与安全加强
    ubuntu 终端中文显示乱码问题!
    LINUX命令行如何查看memcache运行状态?
    CI system/libraries/Cache/drivers/memcached.php 兼容 memcache,memcached扩展
    php操作memcache的使用测试总结
    收集国内速度快的Debian或者Ubuntu源
    网易163的 Ubuntu 软件源
    Memcache命令及参数用法
    Memcache所有方法及参数详解
  • 原文地址:https://www.cnblogs.com/zengezenge/p/822954.html
Copyright © 2020-2023  润新知