asp.net可以处理一半提交的网页吗?

时间:2010-04-21 09:59:00

标签: asp.net httprequest page-lifecycle

生产中有一个奇怪的错误,只是想知道服务器是否可以处理一半提交的网页?

页面没有视图状态,只使用普通的旧HTML控件,并通过Request.Form [name]等访问后端转发器中显示的数据。

是否可能由于互联网连接丢失而导致请求被截断,并且页面仍由服务器处理。因此,如果字段不是请求Request.Form [name]的一部分可能导致null?

我知道可以使用fiddler修改请求,但遗憾的是我们不允许更改组策略并更改代理!

非常感谢

2 个答案:

答案 0 :(得分:1)

是否可能因为互联网连接丢失而导致请求被截断,而且服务器仍处理该页面?

是的,这是可能的,如果有人按下提交按钮,即使页面未完全加载,浏览器也会关闭表单并提交所有内容,直到那一刻。 !

要检查网页是否已满,请发送 EnableEventValidation = true 如果页面未完全发送,则会出现抛出错误。

我认为 Page.IsValid 功能也做了类似的工作。如果page为isValid,那么您将获得所有数据。

因此,如果您对某个页面的某个部分有延迟,那么您将获得数据浏览器所具有的功能。

要测试我在网页内使用此代码的说法,当您的网页达到此延迟时,点按一个按钮,您只获得此时的数据。< / p>

<%
Response.Flush();
System.Threading.Thread.Sleep(10000);
%>

任何网页都可以提交包含损坏的数据,多次发生,

这就是为什么ms在每个页面都包含 __ EVENTVALIDATION 隐藏控件(除非您禁用它),检查页面是否已更正将其发回。

答案 1 :(得分:0)

这是不可能的。页面是否已提交。

要调试问题,请记录所有表单字段(名称和值)并在那里查找错误。 您可能使用相同的IDName,这就是您丢失字段的原因。