2009-04-29 55 views
1

我已经编写了一个在数千个站点上运行的ASP.NET应用程序。但至少在一个站点上,以下代码将失败:在ASP.NET中,什么情况会导致OnServerClick =“foo”失败,从而“foo()”永远不会被调用?

void foo(Sender o, EventArgs e) 
{ 
    .... 
} 

<input runat="server" .... OnServerClick="foo" ... 

您曾经体验过OnServer事件失败吗?我在这个网站上进行了实验,并且无法提供使它失败的神奇功能,但是IIS Windows认证可能是相关的,或者这一行代码可能是相关的,基于开启和关闭的东西,评论事情:

void Page_Init (object sender, EventArgs e) {ViewStateUserKey = Session.SessionID;} 

但是这些事情会如何相关?再次,这个相同的代码在数千个其他站点上工作。

那么,你有没有遇到OnServer事件失败触发的代码之外的定居或条件?

+0

你是什么意思它不工作一个网站。它是一台机器,有数千个站点或数千台机器吗?我假设后者 – 2009-04-29 23:37:32

回答

2

AutoEventWireUp =“假”无论是在页面指令,在machine.config中

假=事件在web.config中或机器范围的设置不会被自动的约束。

其他可能性:EnableViewState设置或Viewstate在传输中被剥离/损坏。

MachineKey setting in configs and combination of Encrypting Viewstate

临时ASP.Net文件可能已损坏

未修补/错误.NET运行时

可能会开始在machine.config

+0

如果是这样,是不是每次都会失败? – Cerebrus 2009-04-29 12:16:58

相关问题