C# 如何在Asp.NETMVC中从UI取消正在进行的事务(在控制器中)?

C# 如何在Asp.NETMVC中从UI取消正在进行的事务(在控制器中)?,c#,asp.net-mvc,transactions,controller,cancellationtokensource,C#,Asp.net Mvc,Transactions,Controller,Cancellationtokensource,我正在从UI向控制器发送事务请求,并在控制器中处理该请求 此过程可能需要10秒左右的时间 在处理交易时,用户有取消交易的规定 因此,我需要检查在每次提交之前是否单击了“取消”按钮 我怀疑当单击“取消”按钮时,我无法将该值作为新请求传递,因为将创建控制器的新实例 另一个选择是使用静态。但建议告诉我不要为控制器引入静态字段 如何处理这种情况?可能有一些令牌,或者还有一些简单的解决方法?不确定您使用的是什么特定UI,但您可以通过单击“取消”按钮来终止请求 如果您使用的是javascript,则可以调用

我正在从UI向控制器发送事务请求,并在控制器中处理该请求

此过程可能需要10秒左右的时间

在处理交易时,用户有取消交易的规定

因此,我需要检查在每次提交之前是否单击了“取消”按钮

我怀疑当单击“取消”按钮时,我无法将该值作为新请求传递,因为将创建控制器的新实例

另一个选择是使用静态。但建议告诉我不要为控制器引入静态字段


如何处理这种情况?可能有一些令牌,或者还有一些简单的解决方法?

不确定您使用的是什么特定UI,但您可以通过单击“取消”按钮来终止请求

如果您使用的是javascript,则可以调用abort content take from

然后在MVC代码中,只需绑定取消令牌并在调用submit之前检查它,或者更好地使用异步API并传入取消令牌

public ActionResult Action(string param, CancellationToken token)
{
     // do your thing

     if (token.IsCancellationRequested)
     {
         // abort
     }

     // do your thing
}

可爱的设计,但你的代码在哪里?
public ActionResult Action(string param, CancellationToken token)
{
     // do your thing

     if (token.IsCancellationRequested)
     {
         // abort
     }

     // do your thing
}