一些非常基本的问题。
何时在OnActionExecuting初始化或分配?
非常简单的场景:
public partial class OrderController : DefaultController
{
private int customerId = 0;
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
customerId = WebSecurity.CurrentUserId;
base.OnActionExecuting(filterContext);
}
}
我应该在 OnActionExecuting 中分配customerId,以便我可以在每个操作的代码中重复使用它吗?
或者我应该每次只在不同的行动中分配它?
答案 0 :(得分:1)
答案当然是它取决于你队伍的编码风格和其他情况。
您未考虑的另一个选项是创建一个custom action filter来包含此逻辑,并在动作方法签名之上只使用一行代码重复使用它。
然后,如果您决定将其应用于所有/任何操作方法,您可以将其应用于控制器,甚至应用于基本控制器。