网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

利用UrlRewrite,asp.net动态生成htm页面

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/13

   则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
   开发人员通过该节可以配置
   要显示的 html 错误页
   以代替错误堆栈跟踪。
  
   <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
   <error statusCode="403" redirect="NoAccess.htm" />
   <error statusCode="404" redirect="FileNotFound.htm" />
   </customErrors>
   -->
   <globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
   </system.web>
  </configuration>
  两个关键的类是ModuleRewriter和RewriterFactoryHandler
  ModuleRewriter类用于Url重定向,代码如下:
  ModuleRewriter
  using System;
  using System.Text.RegularExpressions;
  using System.Configuration;
  using URLRewriter.Config;
  using System.Data;
  using System.Web;
  using System.Web.UI; 
   


  namespace URLRewriter
  {
   /**//// <summary>
   /// Provides a rewriting HttpModule.
   /// </summary>
   public class ModuleRewriter : BaseModuleRewriter
   {
   /**//// <summary>
   /// This method is called during the module''s BeginRequest event.
   /// </summary>
   /// <param name="requestedRawUrl">The RawUrl being requested (includes path and querystring).</param>
   /// <param name="app">The HttpApplication instance.</param>
   protected override void Rewrite(string requestedPath, System.Web.HttpApplication app)
   {
   //只对文件后缀为aspx页面有效
   if (requestedPath.IndexOf(".aspx") != -1)
   {
   HttpContext httpContext = app.Context;
  
   // get the configuration rules
   RewriterRuleCollection rules = RewriterConfiguration.GetConfig().Rules;
  
   // iterate through each rule
   for (int i = 0; i < rules.Count; i++)
   {
   // get the pattern to look for, and Resolve the Url (convert ~ into the appropriate directory)
   string lookFor = "^" + RewriterUtils.ResolveUrl(httpContext.Request.ApplicationPath, rules[i].LookFor) + "$";
  
   // Create a regex (note that IgnoreCase is set)
   Regex re = new Regex(lookFor, RegexOptions.IgnoreCase);
  
   // See if a match is found
   if (re.IsMatch(requestedPath))
   {
   //aspx页面重定向到htm页面且http数据传输方式为“GET”
   if (rules[i].Type == WebType.Static && app.Context.Request.RequestType == "GET")
   {
   //静态页面路径
   string htmlWeb = RewriterUtils.ResolveUrl(httpContext.Request.Appl
  • 下一篇资讯: 对IOC和DI的理解
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号