【发布时间】:2018-05-17 11:31:20
【问题描述】:
我有一个问题。 在 Javascript 中,我有如下代码,即我使用retrieveEntityReq 使用 POST 请求获取“执行报告”的数据。 我想用 C# 实现同样的功能,如果我用谷歌搜索正确,我想我们在 c# 中具有“RetrieveEntityRequest”函数。这个函数帮助我们从系统中检索元数据。 但是是否有可能实现诸如执行报告并从报告中获取响应之类的功能?
附加评论:我的最终目标是什么: 上面提到的代码是渲染报表,然后获取base64字符串中的报表数据。一旦我在 bas64 中将其作为 pdf 附加到电子邮件中。 所有这些都已经在 JavaScript(base64 字符串)和用于创建电子邮件和附加 pdf 的插件中实现。 现在我想在c#中实现一个SSRS报告的base64字符串。
更多的谷歌搜索让我了解了HttpWebRequest,这有助于实现类似的请求,即 GET/POST 等。 我尝试使用它,我的状态为 OK,但内容不可用。也许这有助于进一步澄清我的问题。
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
【问题讨论】:
-
这是用于在客户端运行报告,为什么要在服务器端 c# 中执行此操作?
-
您要生成什么样的报告?
-
是的,提到的代码有助于使用 Js(客户端)实现渲染报告。我希望运行的报告是 SSRS 报告
-
不要将答案添加为问题的编辑,而是将其作为新答案发布。
标签: c# dynamics-crm