.net - SSRS 2008 和 System.Drawing FileIOPermissions
问题描述
我正在开发一份在具有动态图像的 SSRS 2008 服务器上使用的报告。图像的文件名是数据集中的字段之一,通过将图像源设置为 EXTERNAL 并使用存储图像的网络共享的文件 URI,我成功地获得了要显示的正确图像。
对于傻笑,假设 URI 是 file://server1/share/subfolder/image.jpg
现在我试图将该图像居中在图像框中,经过一番研究,这应该就像从图像框的宽度中减去图像的宽度一样简单,并将图像框的左侧填充设置为一半区别。很标准的东西。
但是,我遇到的问题是尝试使用 system.drawing 引用来访问图像文件。
我有以下代码,应该可以工作:
System.Drawing.Image.FromStream(System.Net.WebRequest.Create("file://server1/share/subfolder/image.jpg").GetResponse().GetResponseStream()).Width
...但事实并非如此。在报表生成器中,当我将该代码作为表达式放在文本框中(用于测试)时,我得到了非常有用的“#Error”。所以我拉下 rdl 文件并将其加载到 BIDS 中,在那里我可以看到真正的错误。真正的错误是:
请求“System.Security.Permissions.FileIOPermission、mscorlib、Version=2.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089”类型的权限失败。(rsRuntimeErrorInExpression)
...我明白为什么会这样,因为 .net 2.0 system.drawing 参考需要正确的权限集...但我不知道在哪里设置它。我认为它可能必须在多个地方:一个是我本地客户端上的 Report Builder 3.0 可以看到的地方,一个是 BIDS 可以看到的地方,另一个是报表服务器本身可以看到的地方。
感谢您提供的任何帮助!
解决方案
推荐阅读
- android - 我的对话框没有正确显示
- java - 带有 @EnableWebFlux 注释的 SpringWebFlux 错误
- javascript - HMAC SHA256 - 将服务器端 Ruby 代码转换为客户端 Javascript 代码
- java - 如何使用 com.toedter.calendar.JDateChooser?
- c++ - 保存128位数据的c ++数据结构
- javascript - Javascript Onclick通过附加函数传递对象
- reactjs - 如何在更新时获得反应 noUiSlider 最小最大值?
- windows - Rstudio 无法连接到 Windows 机器上启用 SSL 的 postgresql 服务器
- asp.net-mvc - 有什么方法可以在 MVC 中的另一个页面单击后退按钮中的确切数据显示上一页
- php - 在验证期间获取 Laravel 验证中的 ErrorMessage 包