zoukankan      html  css  js  c++  java
  • 如何将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相关的数据就无法获得了。

  • 相关阅读:
    PHP基础学习笔记(一)
    安装wampserver之后,浏览器中输入localhost页面显示IIS7解决办法
    HTML5常识总结(一)
    AngularJs中的服务
    AngularJs中的directives(指令part1)
    Happy Number——LeetCode
    Binary Tree Zigzag Level Order Traversal——LeetCode
    Construct Binary Tree from Preorder and Inorder Traversal——LeetCode
    Construct Binary Tree from Inorder and Postorder Traversal——LeetCode
    Convert Sorted Array to Binary Search Tree——LeetCode
  • 原文地址:https://www.cnblogs.com/zengezenge/p/822954.html
Copyright © 2011-2022 走看看