Для получения коллекции объектов сервиса используется универсальный класс DataServiceQuery, который представляет собой запрос к сервису, возвращающий коллекцию сущностей конкретного типа.
Чтобы выполнить запрос к сервису данных EntityDataService.svc, предварительно необходимо создать экземпляр объекта контекста среды приложения Creatio.
Далее в примерах будет использована forms-аутентификация.
Чтобы реализовать forms-аутентификацию:
- Создайте класс LoginClass.
- Реализуйте поля authServiceUri (строка запроса к методу Login аутентификационного сервиса AuthService.svc) и AuthCookie (Cookie аутентификации Creatio).
- Реализуйте метод TryLogin(string userName, string userPassword), который выполняет аутентификацию пользователя и сохраняет ответ сервера в поле AuthCookie.
-
Реализуйте метод OnSendingRequestCookie(object sender, SendingRequestEventArgs e), который будет вызван в ответ на событие экземпляра контекста SendingRequest (создание нового экземпляра HttpWebRequest).
В методе OnSendingRequestCookie выполняется аутентификация пользователя, а полученные в ответ cookies добавляются в запрос на получение данных.
Способы выполнения запроса к сервису:
- Выполнение LINQ-запроса к именованному объекту DataServiceQuery, который получен из контекста сервиса.
- Неявное перечисление объекта DataServiceQuery, который получен из контекста сервиса.
- Явный вызов метода Execute объекта DataServiceQuery или BeginExecute для асинхронного выполнения.