目前,每当客户端连接到他时,我的DomainService都会执行资源的初始化。每个客户端都应该访问该资源的同一个实例。 我想在WebService的StartUp上初始化这个资源。有没有机会用WCF Ria Services做到这一点?
修改 好的,不要提了。我想将它用于全局DbContext对象。无论如何,这不是一个好主意,因为HttpApplication将管理多个线程,这些线程将同时访问DbContext。我将我的实现更改为“每个线程”,分别为“每个HttpContext”方法。无论如何,谢谢。
答案 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
类中执行此操作。