我的silverlight应用程序在服务器端设计有3层
Business Layer的当前实现是所有类实现IDisposable接口,它调用其中的DataContext的Dispose方法,如下例所示。
MyServerInterfaceLayer.cs
using (var myBusinesessLogicLayer = new MyBLL(this.DataContext1, this.DataContext2))
{
myBusinesessLogicLayer.DoSomething();
}
MyBLL.cs
public void DoSomething()
{
// ..
}
public void Dispose()
{
// dispose all datacontext inside Dispose method of BLL
this._dataContext1.Dispose();
this._dataContext2.Dispose();
}
目前,我在Business Layer,MyBLL1和MyBLL2中有2个课时遇到问题。 MyBLL1需要在MyBLL2中调用一些方法,现在我将MyBLL1中的DataContext发送到MyBLL2后,它将超出MyBLL2的范围。所以我想知道我应该在哪个层调用DataContext.Dispose?