我正在开发一个项目,我们将在SQL Server 2008 R2下与ReportService2010报告Web服务进行交互.在过去,我使用过ReportService2005.asmx,我的问题是,我找不到任何关于如何使用这个新的(2010)报告Web服务呈现报告的合理示例.
使用2005 Web服务时,使用wsdl.exe实用程序创建代理时提供了"Render"方法.是否有一个等效的方法(或一组方法),使用ReportService2010服务完成相同的事情?或者是否有任何端到端的初始化和调用新代理的体面示例?
即使MSDN也没有太多信息,并且在ReportService2010 API文档的某些部分中,仍有旧的代码片段仅适用于2005 Web服务.
更新:一个更好的问题可能是在SSRS 2008和SSRS 2008 R2之间如何以编程方式调用报表服务......我可以看到,即使在SSRS 2008 R2下,仍然存在ReportService2005.asmx,以及ReportExecution2005.asmx,但没有相应的ReportExecution2010.asmx.
叹
解决方案更新:
在与我公司的某人交谈后,我被告知以下情况:
不幸的是,所有上述信息都是从各种链接中挑选出来的,其中没有一个链接简明扼要地陈述了上述所有内容.您通常会假设供应商向客户开发人员解释这种事情.
我一直在编写一些检测USB设备添加和删除的代码,我使用以下WMI代码注册设备更改通知:
watcher = new ManagementEventWatcher(query);
watcher.EventArrived += new EventArrivedEventHandler(DeviceChangeEventReceived);
watcher.Start();
Run Code Online (Sandbox Code Playgroud)
这是处理程序代码:
void DeviceChangeEventReceived(object sender, EventArrivedEventArgs e)
{
foreach (PropertyData pd in e.NewEvent.Properties)
{
Log.Debug("\t" + pd.Name + ":" + pd.Value + "\t" + pd.Value.GetType());
}
}
Run Code Online (Sandbox Code Playgroud)
这很棒,它适用于我插入或从系统中删除的任何USB设备.我遇到的问题是,如何识别导致事件的具体设备?
在我的程序的其他地方,我保留了我最感兴趣的当前连接设备的列表,因此如果设备删除事件通过,我可以使用"select*from Win32_PnPEntity"或其他一些来检查WMI的列表类似的查询.但是,这是一种识别被移除设备的非常不准确且繁琐的方法.增加的问题是,我无法准确地告知添加了什么设备,除非我提前缓存整个Win32_PnPEntity列表,并进行真正疯狂的比较/验证.
我错过了一些明显的东西吗?如何将设备更改事件与特定设备相关联?
更新:我还没有想出一个理想的解决方案来解决这个问题,但我正在做的是在内存中维护一个当前连接的设备列表(我感兴趣)以及每次处理事件时(参见上面),我查询Win32_PnPEntity以查看我存储在连接设备列表中的设备是否仍然连接.这是次优解决方案,因为我无法从指示"设备更改事件"的事件中获取任何特定设备标识信息,这似乎很奇怪.看起来很奇怪,这个信息不可用. 叹
多年来,我一直在使用SSRS报告(RDL和RDLC),但我还没有找到解决这个问题的方法:假设我的报告中有x个字段.我想一次突出显示所有字段,同时修改所有字段的背景颜色,前景色,字体和字体大小.
这可能吗?我在网上搜索过,我已经尝试过报表设计器,但我没有找到任何允许我这样做的东西(除了直接修改底层XML,这不是一个选项).