使用IHttpHandler进行重定向过程中遇到的困惑
2007-04-19 17:17
246 查看
在上文在Asp.Net里使用自定义映射进行重定向 中,如果在配置节里没有找到匹配的重定向地址时,应该怎么执行当前的地址呢。
比如在web.config里定义如下
<URLRewriterConfig>
<Rules>
<URLRewriterRule>
<MatchUrl>show_([\d]+)\.aspx</MatchUrl>
<RedirectUrl><![CDATA[target.aspx?to=$1]]></RedirectUrl>
</URLRewriterRule>
</Rules>
</URLRewriterConfig>
<httpHandlers>
<add verb="POST,GET" path="show_*.aspx" type="FaibClass.Common.Web.URLRewriterHandler, FaibClass.Common" />
</httpHandlers>
这样,只要符合show_*.aspx的页面都会使用URLRewriterHandler,但如果是站内存在这样的文件 show_article.aspx ,那也将会被重定向到target.aspx执行。但是,该url并不会在URLRewriterConfig里找到匹配的项,因此,页面就无任何输出。
试着这样修改ProcessRequest过程:
1 public void ProcessRequest(HttpContext context)
2
这样做并没有得到预期的效果,反而发生了一个错误:子请求无效。试着使用context.Current.Response.Redirect更是使页面在这期间重复来回。
所以,使用IHttpHandler实现重定向是不是真的不太理想呢,急希望各位高手指点指点。
比如在web.config里定义如下
<URLRewriterConfig>
<Rules>
<URLRewriterRule>
<MatchUrl>show_([\d]+)\.aspx</MatchUrl>
<RedirectUrl><![CDATA[target.aspx?to=$1]]></RedirectUrl>
</URLRewriterRule>
</Rules>
</URLRewriterConfig>
<httpHandlers>
<add verb="POST,GET" path="show_*.aspx" type="FaibClass.Common.Web.URLRewriterHandler, FaibClass.Common" />
</httpHandlers>
这样,只要符合show_*.aspx的页面都会使用URLRewriterHandler,但如果是站内存在这样的文件 show_article.aspx ,那也将会被重定向到target.aspx执行。但是,该url并不会在URLRewriterConfig里找到匹配的项,因此,页面就无任何输出。
试着这样修改ProcessRequest过程:
1 public void ProcessRequest(HttpContext context)
2
这样做并没有得到预期的效果,反而发生了一个错误:子请求无效。试着使用context.Current.Response.Redirect更是使页面在这期间重复来回。
所以,使用IHttpHandler实现重定向是不是真的不太理想呢,急希望各位高手指点指点。
相关文章推荐
- Opencv3.2中的Opencl使用过程中遇到的困惑
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- 在使用ambari进行安装部署过程中遇到的glibc问题
- 使用jUnit对代码进行测试以及测试过程中遇到的问题
- 使用Unity3D进行HTC Vive开发过程中遇到问题记录
- 使用maven打war包过程中对文件进行copy、rename(move)、delete操作
- 使用ssh过程中对数据库进行update时报错
- 关于《自己动手写CPU》使用GNU工具过程遇到的问题
- vue 使用过程中自己遇到的bug
- mybatis使用过程遇到的一些问题及解决方法
- Android - 使用 Kotlin 和 Room 进行开发遇到的问题
- sails-mongo 使用 groupBy 进行分组遇到的坑
- 使用Virtual PC进行Windows内核调试的详细过程
- 关于PHP程序使用file_get_content()函数进行抓取PHP程序与smarty结合编译过程中产生的静态文件,抓取不了?连接超时?(地址映射)
- SecureCRT安装与使用过程中遇到的几个问题
- 极光推送Push 标签、别名的使用 ,集成过程中遇到的问题及结局方法
- ShareSDK使用过程中遇到的一些问题
- django与easyui使用过程中遇到的问题
- 使用keytool构建双向SSL过程中遇到的问题
- npm使用过程中遇到的 Cannot find module 'internal/fs' 的问题