首页新闻找找看学习计划

IIS重启后,客户端重复点击提交导致产生多条重复记录。

0
悬赏园豆:50 [待解决问题]

步骤:

1、重启iis,或者把w3wp.exe进程结束。

2、提交业务数据。这个数据提交的时候会做验证,如果数据库存在和这条数据日期(年月日)相同的数据,就不允许提交。

3、w3wp.exe进程没有的情况下,点击保存,这个时候iis需要启动w3wp.exe。然后客户端就一直在等待中,这个过程大概5秒。然后猛击保存按钮3下。当页面刷新后,就发现产生了3条相同的数据。

实在是搞不懂是个什么道理,解决方案也不知道该咋办。请大家支支招。

fjc1988的主页 fjc1988 | 初学一级 | 园豆:109
提问于:2014-04-10 18:04
< >
分享
所有回答(4)
0

w3wp.exe是与应用程序池相关的一个进程,如果有多个应用程序池就会有多个w3wp.exe的运行实例。而捕获请求时IIS中的模块,然后根据域名,ip等描述信息来分配到哪个进程去处理请求。我分析你可能是IIS并没有关闭,IIS捕获了你的请求只是不知道怎么分配去处理,一直在IIS队列中等待处理,如果你启动了w3wp.exe之后就可以分配处理这些请求了。你产生的三条数据最本质的原因还是你发送了多次请求

贺臣 | 园豆:107 (初学一级) | 2014-04-10 22:09
0

这个跟iis没多大关系吧,你点击了3次按钮,有3次处理也很正常的啊?要不想让多次点击,可以在一次点击后禁用按钮,等返回结果在启用或其他操作。

Rookier | 园豆:652 (小虾三级) | 2014-04-11 09:34
0

数据库加个xlock弄个事物,很容易就可以解决.

只会造轮子 | 园豆:2448 (老鸟四级) | 2014-04-11 13:00
0

例如

btn_onclick{

验证代码

{

执行代码

}

}

你觉得这段代码有问题么???

其实是有问题的 因为你连续点击的时候 会出现几个请求都过了验证代码 但是还没执行完

所以一般遇到这种情况这样处理

 

 

小眼睛老鼠 | 园豆:2774 (老鸟四级) | 2014-04-11 17:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册