这个特殊的应用程序是许多小型实用程序的套件,它们执行的特定工作不太可能彼此重叠。
所以每个实用程序都有自己的类和自己的方法。每个实用程序类都存在2个以上的控制器操作。在每个操作中,我都会创建一个新的实用程序类实例:
public PartialViewResult NullifiedInvoicesFix_List(string id)
{
var _obj = new BgNullifiedInvoicesFix(string.Format(ConfigurationManager.ConnectionStrings["ENTERBG"].ConnectionString, "CRPDTA"));
ViewBag.F4211 = _obj.GetF4211List();
return PartialView();
}
public PartialViewResult NullifiedInvoicesFix_Step1()
{
var _obj = new BgNullifiedInvoicesFix(string.Format(ConfigurationManager.ConnectionStrings["ENTERBG"].ConnectionString, "CRPDTA"));
_obj.UpdateF74G4111();
_obj.UpdateF4211();
ViewBag.F4211Count = _obj.CountF4211();
ViewBag.F74G4111Count = _obj.CountF74G4111();
return PartialView();
}
实用程序类的片段:
public class BgNullifiedInvoicesFix
{
private IDbConnection _db;
public BgNullifiedInvoicesFix(string serverConnection)
{
_db = new OleDbConnection(serverConnection);
}
public dynamic GetF4211List()
{
return this._db.Query<dynamic>(AppConstants.BG.NullifiedInvoicesFix.SelectF4211);
}
}
如果我在每次调用操作中都获得一个新实例,这样可以吗?
垃圾收集器是否会处理这些问题,或者我应该在每个实用程序类中使用单例实现?
答案 0 :(得分:1)
如果我在每次调用操作中都获得一个新实例,这样可以吗?
是
垃圾收集器是否照顾这些或我应该使用 每个实用程序类中的单例实现?
GC负责处理超出范围的所有事情。所以你不必担心它。