代码之家  ›  专栏  ›  技术社区  ›  stephenbayer

Oracle ODP.NET和双击超链接

  •  0
  • stephenbayer  · 技术社区  · 16 年前

    我已经安装了ODP.NET,正在通过Oracle为ASP.NET网站使用会话状态服务。我想,我对它进行了彻底的测试,没有发现任何重大问题。然而,一些用户在使用系统时一直抱怨出现异常错误。我添加了一些额外的日志记录,并了解了如何重现该问题。它发生在用户双击超链接时。我以前从来没有想过双击超链接,也不知道用户喜欢这样做,所以我没有测试过这种可能性。这将发送两个相同的请求,以使用相同的主键保存会话项。我正在为.NET2.0框架使用ODP.NET11.1.0,而被调用的函数已被Oracle混淆,因此我无法在那里修复它。还有其他人有这个问题吗?除了告诉用户不要双击超链接,还有谁知道解决方案吗。

    1 回复  |  直到 16 年前
        1
  •  0
  •   Dave Swersky    16 年前

    首先,这听起来像是Oracle应该解决的问题。他们的代码应该检查并阻止它。

    您可能必须在超链接处理程序中进行检查,以防止重复提交。可以使用实用程序类作为Oracle会话提供程序的包装器,并提供一些 lock 防止双重提交的声明。但是,我会小心的-您可能会引入性能问题。