Инициализация контекста объектов
Если в качестве базового класса для карточки используется базовая карточка |
Для класса, унаследованного от |
Пример инициализации контекста объектов, а также добавления в него основных сервисов и преобразователей данных приведён ниже.
using DocsVision.BackOffice.ObjectModel;
using DocsVision.BackOffice.ObjectModel.Mapping;
using DocsVision.BackOffice.ObjectModel.Services;
using DocsVision.Platform.Data.Metadata;
using DocsVision.Platform.ObjectManager;
using DocsVision.Platform.ObjectModel;
using DocsVision.Platform.ObjectModel.Mapping;
using DocsVision.Platform.ObjectModel.Persistence;
using DocsVision.Platform.SystemCards.ObjectModel.Mapping;
using DocsVision.Platform.SystemCards.ObjectModel.Services;
namespace ConnectDV
{
class Program
{
static UserSession userSession; (1)
static ObjectContext objectContext; (2)
static void Main(string[] args)
{
CreateContext();
}
static void CreateContext()
{
string serverDocsvisionUrl = "ConnectAddress=http://localhost/DocsVision/StorageServer/StorageServerService.asmx;BaseName=SampleBase;UserName=IvanovII;Password=SamplePass"; (3)
SessionManager sessionManager = SessionManager.CreateInstance(serverDocsvisionUrl); (4)
userSession = sessionManager.CreateSession();
var sessionContainer = new System.ComponentModel.Design.ServiceContainer(); (5)
sessionContainer.AddService(typeof(DocsVision.Platform.ObjectManager.UserSession), userSession);
objectContext = new ObjectContext(sessionContainer); (6)
IObjectMapperFactoryRegistry mapperFactoryRegistry = objectContext.GetService<IObjectMapperFactoryRegistry>();
mapperFactoryRegistry.RegisterFactory(typeof(SystemCardsMapperFactory)); (7)
mapperFactoryRegistry.RegisterFactory(typeof(BackOfficeMapperFactory));
IServiceFactoryRegistry serviceFactoryRegistry = objectContext.GetService<IServiceFactoryRegistry>();
serviceFactoryRegistry.RegisterFactory(typeof(SystemCardsServiceFactory)); (8)
serviceFactoryRegistry.RegisterFactory(typeof(BackOfficeServiceFactory));
objectContext.AddService<IPersistentStore>(DocsVisionObjectFactory.CreatePersistentStore(new SessionProvider(userSession), null)); (9)
IMetadataProvider metadataProvider = DocsVisionObjectFactory.CreateMetadataProvider(userSession); (10)
objectContext.AddService<IMetadataManager>(DocsVisionObjectFactory.CreateMetadataManager(metadataProvider, userSession));
objectContext.AddService<IMetadataProvider>(metadataProvider);
}
}
}
1 | Сессия пользователя. |
2 | Контекст объектов. |
3 | Строка соединения с сервером Docsvision. |
4 | Подключение к серверу и открытие сессии. |
5 | Инициализация сервис-провайдера. |
6 | Инициализация контекста объектов.
В качестве контейнера может выступать компонент карточки, унаследованный от |
7 | Получение сервис-реестра и регистрация фабрик преобразователей. |
8 | Получение сервис-реестра и регистрация фабрик сервисов. |
9 | Регистрация сервиса для работы с хранилищем Docsvision. |
10 | Регистрация поставщика метаданных карточек. |
-
DocsVision.Platform.ObjectManager.dll
-
DocsVision.Platform.ObjectModel.dll
-
DocsVision.Platform.SystemCards.ObjectModel.dll
-
DocsVision.Platform.StorageServer.dll
-
DocsVision.BackOffice.ObjectModel.dll