国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net 不用組件的URL重寫(適用于較大型項目)

2024-07-10 12:39:00
字體:
來源:轉載
供稿:網友
先在網站根目錄下建立一個config文件夾,再在此文件架下建立一個urls.config文件,這里記錄url的配置信息代碼如下:
代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<urls>
<rewrite name="default"
path="/default-{0}-{1}.aspx"
pattern = "/default-(/d+)(-(/d+))?.aspx"
page="/default.aspx"
querystring="id=$1^page=$3" />
</urls>

我這里只寫了一種規則,然后修改網站的web.config文件,修改后的代碼為:
代碼如下:
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<authentication mode="Windows"/>
<httpModules>
<add type="my.Forum.HttpModule" name="HttpModule"/>
</httpModules>
<compilation debug="true"/>
</system.web>
<!--
在 Internet 信息服務 7.0 下運行 ASP.NET AJAX 需要 system.webServer
節。對早期版本的 IIS 來說則不需要此節。
-->
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add type="my.Forum.HttpModule" name="HttpModule"/>
</modules>
</system.webServer>
</configuration>

本來只寫一個
代碼如下:
<httpModules>
<add type="my.Forum.HttpModule" name="HttpModule"/>
</httpModules>

就可以了,我這里寫了兩個主要是為了演示如何兼容IIS7 ,然后在解決方案下新建一個項目(類庫),起什么名字無所謂,主要是這個項目下一定要有一個命名空間為my.Forum的類文件。

具體代碼我貼出來 詳細的解釋我都寫在注釋里了。
代碼如下:
//用到的命名空間
using System;
using System.Diagnostics;
using System.Threading;
using System.Web;
using System.Xml;
using System.Text.RegularExpressions;
using System.IO;

//注意名稱空間
namespace my.Forum
{
//繼承自IHttpModule接口
public class HttpModule : System.Web.IHttpModule
{
/// <summary>
/// 實現接口的Init方法
/// </summary>
/// <param name="context"></param>
public void Init(HttpApplication context)
{
//建立個委托讓他執行下面的ReUrl_BeginRequest事件
context.BeginRequest += new EventHandler(ReUrl_BeginRequest);
}
/// <summary>
/// 實現接口的Dispose方法
/// </summary>
public void Dispose()
{
}
private void ReUrl_BeginRequest(object sender, EventArgs e)
{
HttpContext context = ((HttpApplication) sender).Context;
string requestPath = context.Request.Path.ToLower();
//SiteUrls是下面的一個類,這里大家可以重構下
foreach (SiteUrls.URLRewrite url in SiteUrls.GetSiteUrls().Urls)
{
//是否找到了匹配選項
if (Regex.IsMatch(requestPath, url.Pattern, RegexOptions.None | RegexOptions.IgnoreCase))
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 磐安县| 工布江达县| 丽江市| 潞西市| 合阳县| 通化市| 方正县| 铜鼓县| 衡水市| 称多县| 老河口市| 公安县| 陵水| 兴义市| 青冈县| 鄢陵县| 堆龙德庆县| 海盐县| 吉木萨尔县| 万安县| 平和县| 三亚市| 黄平县| 年辖:市辖区| 夹江县| 增城市| 雅江县| 连州市| 阳城县| 大方县| 石棉县| 广饶县| 安新县| 米脂县| 吴桥县| 张家港市| 资兴市| 邹城市| 年辖:市辖区| 宁都县| 巨鹿县|