当前位置:  编程技术>.net/c#/asp.net

C# 伪静态实现方法与代码示例

    来源: 互联网  发布时间:2014-08-30

    本文导语:  1、在资源管理方案中添加一个类   代码示例: //类URLRewriter程序清单:     using System;     using System.Data;     using System.Configuration;     using System.Web;     using System.Web.Security;     using System.Web.UI;     using System.Web.UI....

1、在资源管理方案中添加一个类
 

代码示例:

//类URLRewriter程序清单:
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    ///
    /// UrlRewriter URL重写类
    /// site: www.
    ///
    public class UrlRewriter : IHttpHandler //实现“IHttpHandler”接口
    {
       public UrlRewriter()
    {
    //
    // TODO: 在此处添加构造函数逻辑
       //
    }
    public void ProcessRequest(HttpContext Context)
    {
    try
    {
    //取得原始URL屏蔽掉参数
    string Url = Context.Request.RawUrl;
    //建立正则表达式
         System.Text.RegularExpressions.Regex Reg = new System.Text.RegularExpressions.Regex

         (@"/show-(d+)-(d+)..+",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
    //用正则表达式进行匹配
    System.Text.RegularExpressions.Match m =

      Reg.Match(Url,Url.LastIndexOf("/"));//从最后一个“/”开始匹配
    if (m.Success)//匹配成功
    {
    String RealPath =

     @"~/aspx/show.aspx?type=" + m.Groups[1] + "&id=" + m.Groups[2];
    //Context.Response.Write(RealPath);
    //Context.RewritePath(RealPath);//(RewritePath 用在无 Cookie 会话状态中。)
    Context.Server.Execute(RealPath);
    }
    else

       {
    Context.Response.Redirect(Context.Request.Url.ToString());
    }
    }
    catch
    {
    Context.Response.Redirect(Context.Request.Url.ToString());
    }
    }
    ///
    /// 实现“IHttpHandler”接口所必须的成员
    ///
    ///
    ///
    public bool IsReusable
    {
    get { return false; }
    }
    }

2、在web.config文件中添加设置项
在节点下添加如下代码:
 

代码示例:

 
 

解释:
verb是指允许的动作“GET”、“POST”、“PUT”中的一种或几种,星号“*”表示全部允许;
path是指匹配路径,支持简单的通配符;
type是指绑定的类名以及包括命名空间(如果有的话);

对了,首先你要建立一个WEB窗体“show.aspx”在目录“aspx”下,因为这个文件就是实际接受请求并显示相关内容的页面。

编译,打开网站输入地址http://localhost:80/show-12-34.aspx 访问一下,检查看是不是显示的“/aspx/show.aspx?type=12&id=34”的内容呢?!

上面我是设置了匹配ASPX文件,因为IIS里.HTML扩展名默认是不归ASP.NET接管的,如果要接管HTML请求,
请将IIS的扩展名.HTML映射到“C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_isapi.dll”,
然后将上面的aspx改成html:
 

代码示例:

 
 

输入地址http://localhost:80/show-12-34.html 访问一下,是不是html页面式的伪静态也可以了。


    
 
 

您可能感兴趣的文章:

  • C# 静态方法与非静态方法的区别分析
  • C#中实现抽象类里建立静态方法
  • C# 静态构造函数使用总结
  • c#只读字段和常量的区别,以及静态构造函数的使用实例 iis7站长之家
  • C#生成单页静态页简单实例
  • c#只读字段和常量的区别,以及静态构造函数的使用实例
  • 学习C#中的静态构造函数与复制构造函数
  • C#静态变量与实例变量实例分析
  • 学习C#静态函数及变量的一个精典例子与代码
  • C#中静态的深入理解
  • C#只读字段和常量的区别 静态构造函数的例子
  • C# .NET自定义类实现伪静态页面的代码
  • C# 静态变量与静态方法实例研究
  • C# 伪静态 URL重写配置一例
  • C# 静态类与非静态类、静态成员的区别分析
  • C#中静态构造函数的几点说明介绍
  • C# .Net实现Url地址重写(伪静态)的方法
  • 深入理解c# static 静态数据成员和方法
  • 深入C#实例成员和静态成员详解
  • 深入C#中静态成员和实例变量详解
  • c++静态局部变量和静态函数示例
  • php环境套包 dedeampz 伪静态设置示例
  • PHP生成静态文件简单示例
  • PHP延迟静态绑定示例分享
  • .net生成静态页面的简单示例
  • JSP页面的动态包含和静态包含示例及介绍
  • PHP 动态生成静态HTML页面示例代码
  • 动态库调用静态库示例讲解
  • linux生成(加载)动态库静态库和加载示例方法
  • 使用java将动态网页生成静态网页示例
  • php生成静态页面的简单示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 一个静态库包含多个函数,应用程序连接了库中的某个函数,应用程序目标代码中是否还包含了该静态库中的其他函数代码?
  • C/C++代码静态分析插件 SourceInsight_Scan
  • 静态源代码分析工具 RIPS
  • asp.net静态方法弹出对话框的一例代码
  • Java中的static静态代码块的使用详解
  • 针对 Python 的代码静态分析工具 PySonar
  • php结合smarty生成静态页面 php文章内分页代码
  • asp.net伪静态(URL重写)代码一例
  • Java 项目生成静态页面的代码
  • asp.net 伪静态 URL重写的纯代码实现方法
  • ASP.NET伪静态(IHttpModule方式)的实现代码
  • 去掉 asp.net 静态后生成的viewstate代码的方法
  • CSS滤镜示范(filter)附源代码(静态滤镜)
  • 一个基本概念问题:静态函数只能调用静态方法,类的成员函数也是静态的吗?
  • linux中静态链接库调用了另一个静态链接库
  • 如何 用一个静态库 生成 另一个静态库
  • 请教:(static)静态变量和静态方法是什么意思?
  • 有把两个静态库.a合成一个静态库的简单方法吗
  • linux 生成静态库的时候怎么连接别的静态库
  • 静态博客 静态blog
  • 静态库动态库同时存在时,如何指定使用静态库
  • 如何在一个静态链接库中链接另一个静态链接库?
  • gcc的静态库.lib怎末在编译的时候连接。对了静态库是自己的???
  • PHP static局部静态变量和全局静态变量总结
  • 在静态上下文中不能引用非静态方法test(),天啊,为什么我的main()不能调用任何其它函数?
  • 静态函数,静态变量
  • java有无像vb那样的静态变量?java的staic是类的属性,那末,静态变量如何声明?
  • 关于C++静态成员函数访问非静态成员变量的问题
  • 急求静态库引用静态库,该如何编译链接!!!
  • asp.net伪静态后真正的静态文件无法访问的解决方法
  • 请问在LINUX下怎么设置静态IP?我在虚拟机中不能设置静态IP怎么办?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3