当前位置:编程学习 > C#/ASP.NET >>

IIS7重用了那些不该重用HttpHandler

我有一个HttpHandler,不是继承自IHttpHandler而是继承自Page的,不过直接在<system.web>的<httpHandlers>配置为HttpHandler来用。这个在IIS5中一直没问题。

最近我开始用IIS7,为了将HttpHandler配置为IIS7直接处理,就设置了<system.webServer>节下面的<httpHandlers>,然后有问题了。第一次请求它很正常,第二次请求就Exception,说Page上面有多个HtmlForm。我Trace并分析后发现原来它没有构造一个新的实例来处理第二次请求,而是直接用处理完第一次请求的实例来处理第二次请求,于是控件书构造过程重复了一次,自然就多了一个HtmlForm。

这是IIS7自身的bug吗?我在用Vista RTM了,应该不至于有这么明显的bug吧。如果是bug,如何解决好? --------------------编程问答-------------------- 不明白,帮顶 --------------------编程问答-------------------- 大哥,你好像是追星族呀,vista我就不准备用 --------------------编程问答-------------------- 很多时候,用不用不是我们自己可以说了算的……我们公司就有很多这方面的事情必须要做。可惜我不在那些组……所以……
问题不是很明白,但是隐约感觉到楼主使用的方法有点问题,从Page继承来的,如果构建的实例是静态或者持久型的,完全有可能……IIS7有这方面的改动还是很有可能的。我不是很清楚。
--------------------编程问答-------------------- 搂主是高人。顶。 --------------------编程问答-------------------- 没用过.不过听说过 --------------------编程问答-------------------- up --------------------编程问答-------------------- bang ding le 。 --------------------编程问答-------------------- IIS7 还没用到 --------------------编程问答-------------------- 楼主是Cat in dotNET吧 --------------------编程问答-------------------- 再制作一个HttpHandlerFactory,它负责每次返回Page的新实例,然后在配置中改用该HttpHandlerFactory。

这个不是IIS7 的bug.
或者你 继承 IHttpHandler 不要继承Page.
    public bool IsReusable
    {
        get { return false; }
    }


不让他重用.每次构造一个新实例来处理就可以解决这个问题了

--------------------编程问答-------------------- 不让我下载,只能灌水赚积分啦! --------------------编程问答-------------------- 我用的 iis7 完全正常。

而且iis7 特牛,搞url重写都不用设置iis的映射什么什么了。 --------------------编程问答-------------------- 友情帮顶! --------------------编程问答-------------------- 友情帮顶! --------------------编程问答-------------------- 友情帮顶! --------------------编程问答-------------------- 碰到过楼主的情况,IHttpHandler在IIS7中没有作用,不知道是不是没有作用还是没有调好,
IIS6中完全没有问题 --------------------编程问答-------------------- 碰到过楼主的情况,IHttpHandler在IIS7中没有作用,不知道是不是没有作用还是没有调好,
IIS6中完全没有问题
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,