MVC Action调用了两次

时间:2015-10-08 10:27:30

标签: javascript asp.net-mvc asp.net-mvc-2

如果请求需要一段时间才能完成,我有一个MVC Action Method被点击两次。在检查chrome控制台网络日志和fiddler时,请求仅从JS发送一次。

在下图中,我将Approach 1面临此问题。但是,如果我使用Approach 2进行此操作,则可以正常工作。

方法1(失败)发生了什么:

  1. JS点击MVC Action window.location.href
  2. 按照代码的理想情况
    • MVC Action(抽空时间)
      • 致电Service Method 1
      • 致电Service Method 2
      • 重定向到确认/最终页面。
  3. 实际发生了什么
    • MVC Action(抽空时间)
      • 致电Service Method 1
      • 致电Service Method 2
      • 等待约4分钟(无法确定原因)
      • 再次致电MVC Action
      • 验证失败,响应被重定向到错误页面,因为使用相同的参数调用了两次操作方法。
  4. 方法2(成功)发生了什么:

    1. MVC Action个电话分成两个,1个和2个
    2. JS使用MVC Action 1
    3. 点击Ajax
    4. MVC Action 1
      • 致电Service Method 1
      • 回复MVC Action 2
      • 的网址
      • JS收到MVC Action 1回复,并使用MVC Action 2
      • 致电window.location.href
    5. MVC Action 2
      • 致电Service Method 2
      • 成功重定向到确认/最终页面。
    6. 即使我找到了Approach 2的可能解决方案,我也无法理解Approach 1失败的原因。

      困扰我的要点是:

      1. 为什么MVC Action被调用两次,即使这个过程需要很长时间才能完成?难道不能只是超时吗?
      2. 为什么在第二次通话发生前大约有4分钟?
      3. Alternate Flows

        修改:我已在Chrome 45.0.2454.101 mFirefox 40.0.3IE (7, 8, 9, 10)上尝试过,但没有成功。

        ASP.NET MVC 2.0
        .NET 4.0
        

        注意:我已经看过其他类似的问题(google / SO),但它对我没有帮助。

0 个答案:

没有答案