询问者
(求版主等高手)奇怪,iis 7.0 使用httpmodule 无法获取asp页面request.form信息,求解...

问题
-
程序运行环境 :
网站使用IIS 7.0,运行在windows 7 下, appPool为Integrated,
在web.config 有配置<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="MyModule" type="MyGirl.Moduler.MyModule,MyModuler" />
</modules>
</system.webServer>Module的calss为:
public class MyModule : IHttpModule, IReadOnlySessionState
{
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
context.PreRequestHandlerExecute += (new EventHandler(this.Application_AuthenticateRequest));
//context.PostRequestHandlerExecute += new EventHandler(context_PostRequestHandlerExecute);
}public void Application_AuthenticateRequest(object sender, EventArgs e)
{}
}
运行过程,当浏览asp文件时,可以在函数Application_AuthenticateRequest获取request.Form的内容,但是经过httpModule模块后,去到asp 实际执行,request.form为空,
奇怪,,奇怪。。。。
同样的程序,可以在windows2003+iis6正常运行。为什么有这样的情况出现了,是不是还有什么需要配置的地方?
这个程序的目的是,通过httpmodule捕捉asp与asp.net页面的信息数据。
- 已移动 韦恩卑鄙 waywa 2011年4月21日 7:00 (发件人:.NET Framework 一般性问题讨论区)
- 已编辑 hi, how are you 2011年4月27日 8:52
全部回复
-
<add name="MyModule" type="MyGirl.Moduler.MyModule,MyModuler" />
你这个 type="MyGirl.Moduler.MyModule,MyModuler"改成 type="MyGirl.Moduler.MyModule,MyGirl.Moduler" 或者去掉第二个字符串都可以
My Blog<- 已标记为答案 Song TianModerator 2011年4月25日 8:32
- 取消答案标记 hi, how are you 2011年4月25日 9:20
-
服务器不允许修改 成经典模式!
这是个非常古怪的问题,在BeginRequest中,获得了用户的request请求后,读取这个request的url、cookie和headers都没问题,唯独读取 Form对象会让后面的asp页面出错!
一旦读取了Form,后面的asp页面接收到的 Form 就成了null,【但是aspx页面可以正常接收到Form】,但是asp页面接收到的request的url、cookie却正常!这是为什么??我怀疑这是不是 IIS7 和7.5 的bug??但是,我想不通的是,我只是在BeginRequest中 读取request,为什么 request 在后面的asp页面中消失了呢?
- 已编辑 zhangyong073 2017年11月6日 6:22