Функция Dynamics crm retrieveEntityReq (Javascript) в C# [OnPrem CRM]
У меня есть запрос. В 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 ответ
Пара уточнений: SDK выставлен RetrieveEntityRequest
сообщение для запроса метаданных о сущности. В то время как retrieveEntityReq
в вашем примере кода это просто переменная для выполнения запроса AJAX, используя XMLHttpRequest
, Это выполняет / запускает отчет SSRS и получает ответ как сеанс и т. Д.
Если вы действительно хотите запрашивать данные, аналогичные отчету SSRS на стороне сервера, используя C#, у нас есть концепция FetchExpression для запуска запроса fetchxml (аналогично запросу отчета SSRS) и получения ответа.