WCF Ria域服务 - 在StartUp上初始化Web服务

时间:2011-05-14 15:39:23

标签: wcf ria wcf-ria-services domainservices

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

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

1 个答案:

答案 0 :(得分:1)

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

示例:

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

在DomainService中:

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类中执行此操作。