ASP.NET从错误的页面运行代码

时间:2012-12-21 07:49:32

标签: asp.net iis-7

这是一个非常严重后果的问题,所以我发帖是为了找出是否有其他人遇到过这个问题:

我在WinXP下使用VB在VS2008上运行ASP.NET 3.5。我使用复杂的MySQL数据库。 我创建了一个复杂的Web应用程序,需要跟踪多个会话变量,每个变量代表一个对象,而不是简单的数据类型。

情况: 我的一个页面用于编辑事件(真实事件,例如会议),使用唯一标识符 intEventID 从数据库中检索。编辑事件后,用户单击一个Save按钮,该按钮调用Save例程(UPDATEs DB)。非常“正常”的东西,对吧?

昨天,Save例程停止了工作。经过彻底检查后,很明显在页面呈现和PostBack初始化之间,唯一标识符 intEventID 已重置为0。换句话说,在单击按钮和PostBack的PreInit事件之间,复杂对象中的 1变量被重置为0。是的,当然,我检查了页面上的每一行代码。该变量未被页面上的任何代码行更改。

经过长时间的诊断,我发现了罪魁祸首:不同页面上的单行代码(Web表单)。是的,一个不相关的页面!更重要的是,虽然我可以通过在它之前放置一个Exit Sub命令来停止执行该命令,但是其他页面上的其他代码都不会执行!例如,如果我在违规行之前放置了Response.Redirect命令,它将停止执行该行,但不会按要求重定向!

摘要:一个Web表单,在PreInit事件之前的某个时刻(但仅在PostBack期间),从另一个Web表单调用一行代码。无需重新编译或重新启动任何数量这一点。

还有其他人经历过这个吗?

0 个答案:

没有答案