Функция Dynamics crm retrieveEntityReq (Javascript) в c # [OnPrem CRM] - PullRequest
0 голосов
/ 17 мая 2018

У меня есть запрос. В Javascript у меня есть код, как показано ниже, т.е. я использую retrieveEntityReq для получения данных для «Выполнения отчета» с использованием запроса POST. Я хочу добиться того же с C #, если я правильно гуглил, думаю, у нас есть в c # функция «RetrieveEntityRequest». Эта функция помогает нам получать метаданные из системы. Но возможно ли достичь чего-то вроде выполнения отчета и получения ответа из отчета?

Дополнительный комментарий: какова моя конечная цель здесь: Код, упомянутый выше, предназначен для отображения отчета, а затем для получения данных отчета в base64 String. Как только у меня есть это в bas64, приложите это как pdf в электронной почте. Все это уже достигнуто в JavaScript (строка base64) и плагине для создания писем и прикрепления PDF. Теперь я хочу получить строку base64 отчета SSRS в c #.

Еще немного поиска в Google дало мне понимание HttpWebRequest , которое помогает выполнить аналогичный запрос, т.е. GET / POST и так далее. Я попытался с его помощью, я получаю статус как ОК, но контент не доступен. Может быть, это поможет уточнить мой вопрос больше.

var retrieveEntityReq = new XMLHttpRequest();

retrieveEntityReq.open("POST", pth, false);

retrieveEntityReq.setRequestHeader("Accept", "*/*");

retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

//This statement runs the query and executes the report synchronously.

retrieveEntityReq.send(query);

//These variables captures the response and returns the response in an array.

var x = retrieveEntityReq.responseText.lastIndexOf("ReportSession=");

var y = retrieveEntityReq.responseText.lastIndexOf("ControlID=");

Обновление: я не смог добиться отчета о рендеринге так же, как при использовании Javascript. Используется другой подход: публикация отчета на сервере и его рендеринг с использованием кода c #.

Ссылка: https://www.codeproject.com/Articles/675762/Call-SSRS-Reports-by-using-Csharp

1 Ответ

0 голосов
/ 18 мая 2018

Пара уточнений: SDK выставлен RetrieveEntityRequest сообщение для запроса метаданных о сущности. Принимая во внимание, что retrieveEntityReq в вашем примере кода это просто переменная для выполнения ajax-запроса с использованием XMLHttpRequest. Выполняет / запускает отчет SSRS и получает ответ, такой как сеанс и т. Д.

Если вы действительно хотите запросить данные, подобные отчету SSRS на стороне сервера, используя C #, у нас есть FetchExpression концепция для запуска запроса fetchxml (аналогично запросу отчета SSRS) и получения ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...