我正在开发一个ASP.NET MVC 5.0 Web应用程序。我遇到了共享托管服务器的一些问题。他们说,工作流程限制在150MB,我的应用程序正在超越。所以,首先我想使用垃圾收集来减少负载。
在我的DAL中,我继承了IDisposable到我自定义方法的类,并在结尾处调用了析构函数。
public class DbAccessSupport : IDisposable
{
public void Dispose()
{
//cmd.Dispose();
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (!disposed)
{
if (disposing)
{
cmd.Dispose();
// Manual release of managed resources.
}
// Release unmanaged resources.
disposed = true;
}
}
~DbAccessSupport()
{
Dispose(false);
}
}
public class MasterWithADO
{
public int DALPostChatMsg(string xml)
{
using (DbAccessSupport DbAccessSupportForSP = new DbAccessSupport(true))
{
DbAccessSupportForSP.CommandText = "sp_PostSingleChatMsg";
DbAccessSupportForSP.AddParameter("@inputXml", xml);
return DbAccessSupportForSP.ExecuteNonQuery();
}
}
}
这是实现3层架构的收集和压缩的最佳方式吗?如果是,那么我还必须在BAL和应用层中实现这一点,这将增加处理开销。