C# .NET自定义类实现伪静态页面的代码

发布时间:2019-08-04编辑:脚本学堂
本文介绍下,如何在C# .net中通过自定义的类,实现伪静态页面。有需要的朋友,可以参考下。

只需要在App_Code里添入一个自定义类,然后再写点代码就可以实现一个简单的c#伪静态功能了。

主要步骤如下。

步骤1,在App_Code里添加Class

步骤2,将Class 代码改成
 

复制代码 代码示例:

public class MyModule : IHttpModule
{
public void Init(HttpApplication app)
{

// 登记 pipeline events

app.BeginRequest +=

new EventHandler(this.OnBeginRequest);

}

public void Dispose() { }

public void OnBeginRequest(object o, EventArgs args)

{

// 读取app 和 context

HttpApplication app = (HttpApplication)o;

HttpContext ctx = app.Context;

string fullOrigionalpath = app.Context.Request.Url.ToString();

if (fullOrigionalpath.Contains("确认伪静态路径的字符串比如: ‘blog.sina.com.cn/blog_’ + ‘博文文件名’”))

{

string[] phrase = fullOrigionalpath.Split('/');

app.Context.RewritePath(

“真正的文件路径
}
}
}

步骤3,修改web.config文件
在<attpModules></attpModules>中添加
 

<add name=”MyModule” type=”MyModule, Version, Culture, PublicKeytToken”>

步骤4,在IIS里添加文件后缀
如果IIS中没有伪静态文件的后缀,需要自己添加。
具体操作:
在IIS找到相应网站,使用Handler Mappings目录下的Add Script Map功能,按照弹跳窗口指示操作。
如果IIS不是Integrated Mode,在IIS里添加完后,打开web.config在<httpHandlers></ httpHandlers >以及<handlers></ handlers >中添加
 

<add name verb path type>

如果觉得这样操作比较麻烦的话,也可以不写自定义类,直接改写web.config文件也可以实现url重写,即伪静态功能。