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