我有一个类变量,我想在Controller的方法调用之前设置它。它会设置当前用户。
我已经读过我不应该在构造函数上执行此操作,而是覆盖该特定控制器的Initialize方法。
我不熟悉原始的Initialize方法的功能,所以我应该在新方法结束之前通过执行base.Initialize()来调用它吗?
在构造函数或Initialize()方法上执行此操作会更好吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
根据MSDN:
此方法无法直接调用。按顺序重写此方法 在任何ActionResult方法之前提供额外的处理任务 被调用,例如设置线程文化或分配自定义 TempData对象的提供者。如果重写此方法,请调用 基本控件的Initialize方法。
这意味着只需覆盖Initialize
方法即可。初始化控制器时,将自动调用此命令。
您可能无法访问构造函数中的某些控制器属性,因为它们尚未初始化(例如,Request
属性)。因此,在Initialize
中执行任务是安全的。