0

目前,每次客户端连接到他时,我的 DomainService 都会执行资源的初始化。每个客户端都应该访问该资源的同一个实例。我想在 WebService 的启动时初始化这个资源。WCF Ria Services 是否有机会做到这一点?

编辑: 好吧,别提了。我想将它用于全局 DbContext 对象。无论如何,这不是一个好主意,因为 HttpApplication 将管理多个线程,这些线程将同时访问 DbContext。我将我的实现更改为“每个线程”,分别是“每个 HttpContext”,方法。无论如何谢谢。

4

1 回答 1

1

您可以定义一个包含该资源的静态属性的类。然后,您可以在 DomainService 中访问该属性。只有在第一次访问时才会初始化它。

例子:

public class ResManager {
    public static MyObject {...}
}

在域服务中:

public IQueryable<SomeClass> GetSomeObjects()
{
    // you can access it here and it will not be initialized 
    // every time the DomainService is called
    MyObject obj = ResManager.MyObject;
    return new List<SomeClass>().AsQueryable();
}

如果您想在服务启动时对其进行初始化,那么您应该能够在Global课堂上执行此操作。

于 2011-05-14T17:49:15.783 回答