Chrome双重请求导致副作用

时间:2017-02-06 18:51:45

标签: c# asp.net-mvc google-chrome http

我在Chrome中遇到一个问题,导致两个请求被发送到我的.Net MVC应用程序。我有一个控制器正在侦听请求并在收到请求时更改某些应用程序状态。当用户只期望一次,结果出现意外状态时,会发生两次这种情况。

我的工作理论是,这是由Chrome的一个名为" Instant Pages"当您在全方位栏中输入时,我们应该请求页面,但我不确定。

为了解决这个问题,我尝试让控制器只接受POST请求,但这会带来新的问题。网站管理员需要能够从外部网站或营销电子邮件等位置链接到此操作。当操作接受POST时,这样的链接会导致错误。

以下是控制器操作:

public ActionResult HandleMembershipRequest(
  int amount, 
  int fundID, 
  bool waiveBenefits, 
  DateTime? dateOfBirth, 
  bool? isGift, 
  bool? autoRenew)
    { \\change some application state }

我们用于链接到该操作的网址如下:/Membership/HandleMembershipRequest?amount=150&waiveBenefits=False&fundID=1058

我想知道:

  1. 导致问题的原因是什么?
  2. 如何防止重复请求,同时还允许指向此操作的链接?

0 个答案:

没有答案
相关问题