URL重写及干掉ASP.NET试图状态

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 04:42 点击:

 

1、URL重写已经很普遍了,但基本上大部分的URL重写都不支持页面的相对路径,所有如果想在已经开发好的项目中添加还是有压力的,第二就是例如微软的那个URL重写是根据正则表达式来处理的,那样是很好,但也有不足之处,就是不方便定位到某个页面只能有哪些参数。

我觉得要解决的问题有一下几个:

 1、解决如图片js等不能使用相对路径的文件

 2、解决某个页面能有几个参数和哪些参数是可选的

    下面就是解决掉这些问题了

    添加处理程序MyHttpModule,下面是我的一个简单的处理程序(我只是做了一个简单的,并没有考虑性能,而且我是写死的一个url重写就是重写成没有扩展名的)

     

using System;

using System.Collections.Generic;

using System.Web;

using System.IO;

using System.Text;

 

namespace MyClass

{

    public class MyHttpModule : IHttpModule

    {

        #region IHttpModule 成员

        ///<summary>

        /// 释放所有资源

        ///</summary>

        public void Dispose()

        {

        }

        ///<summary>

        /// 初始化模块,并使其为处理请求做好准备

        ///</summary>

        ///<param name="context"> 一个System.Web.HttpApplication,它提供对ASP.NET 应用程序内所有应用程序对象的公用的方法、属性和事件的访问</param>

        public void Init(HttpApplication context)

        {

            context.AuthorizeRequest += new

         EventHandler(this.BaseModuleRewriter_AuthorizeRequest);

        }

        ///<summary>

        /// 当安全模块已验证用户授权时发生

        ///</summary>

        ///<param name="sender"></param>

        ///<param name="e"></param>

        protected virtual void BaseModuleRewriter_AuthorizeRequest(

   object sender, EventArgs e)

        {

            System.Web.HttpApplication app = (System.Web.HttpApplication)sender;

            Rewrite(app.Request.Path, app);

        }

        ///<summary>

        /// 重写url

        ///</summary>

        ///<param name="requestedPath">url的虚拟路径</param>

        ///<param name="app"></param>

        protected void Rewrite(string requestedPath, System.Web.HttpApplication app)

        {

            List<string> qeryString;

            string virtu

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • 浅析.NET下XML数据访问新机制
      • asp.net 面试+笔试题目第1/2页
      • C# 邮件地址是否合法的验证
      • C#高级编程:数据库连接[1]
      • asp.net 设置GridView的选中行的实现代码
      • 经典C++程序1
      • IIS 自动回收导致后台定时器失效的问题解决
      • ASP.NET&#160;GridView列表代码示例
      • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1