在我的 mvc3 控制器中,一个特定的对象用于几种方法。我应该将它声明为控制器的成员变量并提供访问它的属性吗?但是每次从客户端调用其中一个操作方法时会发生什么?对象会被一次又一次地创建吗?如果是这种情况,上述方法有什么特别的优势吗? 在这种情况下,将 MySpclClass 声明为单例类是一个不错的选择吗?
简而言之,使用这种方法有什么好处:
public class MyController : Controller
{
MySpclClass myObject=new MySpclClass();
public ActionResult DoFirst(int id)
{
....................
myObject.doOneThing();
....................
}
public ActionResult DoSecond(int id)
{
....................
myObject.doAnotherthing();
....................
}
}
通过这种方法:
public class MyController : Controller
{
public ActionResult DoFirst(int id)
{
MySpclClass myObject=new MySpclClass();
....................
myObject.doOneThing();
....................
}
public ActionResult DoSecond(int id)
{
MySpclClass myObject=new MySpclClass();
....................
myObject.doAnotherthing();
....................
}
}
那么这个呢:
public class MyController : Controller
{
MySpclClass myObject;
public ActionResult DoFirst(int id)
{
myObject=new MySpclClass();
....................
myObject.doOneThing();
....................
}
public ActionResult DoSecond(int id)
{
myObject=new MySpclClass();
....................
myObject.doAnotherthing();
....................
}
}
编辑:是否将 MySpclClass 声明为单例类,在这种情况下是 Rajansoft1 建议的一个不错的选择?需要这方面的建议。