首页 新闻 搜索 专区 学院

asp.net MVC 3.0通过WebConfig配置Httpmodule代理类出现没有效果的情况,求指教

0
悬赏园豆:10 [已解决问题] 解决于 2014-12-31 14:39

我想通过Httpmodule代理类来注册管道事件,可惜没效果,而且找不到原因,求大家指点。

webconfig配置是在<system.web>下配置的,配置如下

<httpModules>
      <add name="HttpUploadModule" type="UploadDemo.HttpUploadModule, UploadDemo" />
</httpModules>

代理类代码如下

public class HttpUploadModule:IHttpModule
    {
        public void Init(HttpApplication context)
        {
            context.BeginRequest += new EventHandler(this.Application_BeginRequest);
            //application.BeginRequest += new EventHandler(this.Application_BeginRequest);
            context.Response.Write("这是初始化");
        }
    }

这么注册的,就是无效果,也不报错

罗志强的主页 罗志强 | 初学一级 | 园豆:154
提问于:2013-10-06 17:13
< >
分享
最佳答案
0

要在web.config里注册。

收获园豆:10
路过秋天 | 老鸟四级 |园豆:4746 | 2013-10-06 17:32

我是在webconfig文件里面注册的,第一段代码就是我列举的关键代码。

罗志强 | 园豆:154 (初学一级) | 2013-10-06 17:40

@ShowStyle: 我眼花了~~~程序集的名称是“UploadDemo.dll"不?你的代码是应用程序第一次运行时注册的。有没有效果,你要在事件里调用设置个断点试试。

另外可以通过context.Modules看你的模块注册进去了没有。

路过秋天 | 园豆:4746 (老鸟四级) | 2013-10-06 17:53

@路过秋天: 我在Httpmodule代理类中监视了Init事件,没有进来,在页面上也不会显示任何我输出的文字

罗志强 | 园豆:154 (初学一级) | 2013-10-06 17:56

@ShowStyle: context.Modules看你的模块注册进去了没有,先去查下这个。

路过秋天 | 园豆:4746 (老鸟四级) | 2013-10-06 17:59

@路过秋天: 你的意思是在action方法里面设置断点监视这个嘛

罗志强 | 园豆:154 (初学一级) | 2013-10-06 18:00

@ShowStyle: 调试mvc3的源码。

路过秋天 | 园豆:4746 (老鸟四级) | 2013-10-06 18:03

@路过秋天: 汗。这个我不会呀。我刚刚找到了一个在httpApplication中有一个RegisterModule方法,但是我在Application_Start方法中调用这个方法,将我自定义的module传过去,报了一个

在应用程序初始化之后无法注册模块。

这样的错误

  

罗志强 | 园豆:154 (初学一级) | 2013-10-06 18:04
其他回答(1)
1

在web.config 的 system.webServer/modules 节点添加   试试。 

<system.webServer>

<modules runAllManagedModulesForAllRequests="true" >
<add name="HttpUploadModule" type="UploadDemo.HttpUploadModule, UploadDemo" />
</modules>

  </system.webServer>

年轻的蜗牛 | 园豆:202 (菜鸟二级) | 2014-06-29 02:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册