StaticObjectContext — класс

Предоставляет статические члены создания и получения контекста объектов.

Синтаксис

public sealed class StaticObjectContext

Свойства

Имя Описание

Current

Задаёт или возвращает статическое значение контекста объектов.

ObjectContext

Возвращает контекст объектов.

Методы

Имя Описание

Create

Инициализирует контекст с пустым сервис-провайдером.

Create(IServiceProvider)

Инициализирует контекст с указанным сервис-провайдером.

Примеры

Инициализация статического контекста объектов во многом аналогична инициализации контекста объектов, пример которой приведён в примере Инициализация контекста объектов

private static void CreateStaticContext()
{
 var sessionContainer = new System.ComponentModel.Design.ServiceContainer(); (1)
 sessionContainer.AddService(typeof(DocsVision.Platform.ObjectManager.UserSession), userSession);

 StaticObjectContext.Create(sessionContainer); (2)

 BackOffice.Register(StaticObjectContext.Current); (3)

 var serviceFactoryRegistry = StaticObjectContext.Current.GetService<IServiceFactoryRegistry>();
 serviceFactoryRegistry.RegisterFactory(typeof(BackOfficeServiceFactory));
 serviceFactoryRegistry.RegisterFactory(typeof(SystemCardsServiceFactory)); (4)

 StaticObjectContext.Current.AddService<IPersistentStore>(DocsVisionObjectFactory.CreatePersistentStore(new SessionProvider(userSession), null)); (5)

 IMetadataProvider metadataProvider = DocsVisionObjectFactory.CreateMetadataProvider(userSession); (6)
 StaticObjectContext.Current.AddService<IMetadataManager>(DocsVisionObjectFactory.CreateMetadataManager(metadataProvider, userSession));
 StaticObjectContext.Current.AddService<IMetadataProvider>(metadataProvider);
}
1 Инициализация сервис-провайдера.
2 Создание контекста объектов.
3 Регистрация базовых (SystemCardsMapperFactory, BackOfficeMapperFactory) фабрик преобразователей данных.
4 Регистрация базовых фабрик сервисов.
5 Регистрация сервиса для работы с хранилищем Docsvision.
6 Регистрация поставщика метаданных карточек.

Сессия пользователя (userSession) может быть получена по аналогии с примером Инициализация контекста объектов