首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么时候不能调用Application_EndRequest?

什么时候不能调用Application_EndRequest?
EN

Stack Overflow用户
提问于 2010-09-01 18:28:12
回答 2查看 1.3K关注 0票数 4

我们在IIS6中托管了一个ASMX web服务,并且发现其中一个WebMethod出现了一些奇怪的行为。在iisreset之后,对特定方法的第一次调用无法返回给客户端,这会在60秒后超时。

我在Global.asax.cs文件中介绍了登录Application_BeginRequestApplication_EndRequest。日志记录显示,对于该调用,未调用EndRequest。方法本身中的try-finally块表明它正在运行到完成。

在此之前、期间和之后,对不同方法的其他请求都没有显示出问题。TcpTrace显示,对于该方法的第一个请求,不会返回任何响应。

日志还显示,为请求提供服务的线程在finally块完成后开始为其他请求提供服务。

我想知道是什么导致了这种行为,以及我如何进一步调试它。

EN

回答 2

Stack Overflow用户

发布于 2011-01-19 00:39:48

假设这是完全可重复的,我将从更改方法开始。也就是说,我会删除一些东西,直到它按预期工作。

听起来似乎有一些奇怪的次要行为是由web方法本身引起的。我猜这比简单地将两个数字相加并返回结果要复杂得多。

此外,我还会密切关注该方法正在做什么。例如,它是否在实例化非托管资源?您是否有任何http处理程序或模块可能会在第一次执行此方法时崩溃?

通过消除代码,直到它正常工作,您将确切地找出是什么导致了这一问题。

票数 1
EN

Stack Overflow用户

发布于 2011-01-19 00:33:27

一些建议:把你的日志放在: Application_AuthenticateRequest Application_Error下,看看你是否收到任何错误。

如果这不能解决问题,请检查应用程序域和IIS的事件日志

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3617082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档