哪个应用层应该配置DataContext(Silverlight WCF RIA)

时间:2011-09-26 03:38:42

标签: silverlight wcf wcf-ria-services

我的silverlight应用程序在服务器端设计有3层

  1. 接口层 - 该层仅包含在silverlight客户端和RIA服务之间桥接的接口。我在这一层做的是发送ObjectContext(从DAL生成的DataContext),它在该层自动创建并发送给业务逻辑层
  2. 业务逻辑层 - 该层中的所有类都具有重载构造函数,即从接口层发送的DataContext。所有逻辑都在这一层中进行,例如,过滤结果,验证数据等。
  3. 数据访问层 - 纯实体框架。
  4. 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?

0 个答案:

没有答案