问题1:ViewerType="HtmlViewer", 部署IIS后,浏览器查看布局如图所示
初步分析原因:浏览器未加载完全css、javaScript文件导致的。
查找帮助手册,这里写的很细:ActiveReports Developer 11 > ActiveReports Developer Guide > How To > Customize, Localize, and Deploy > Deploy Web Applications。 有一句很关键:To copy referenced DLLs to your project
重新发布一遍,IIS-WebSite重启,很意外,问题未得到解决。
再细细的看了一遍手册,原来还需要添加Handler:
*.ar11 : ActiveReports 11 Script Mapping
*.ar11Web: ActiveReports 11 Cache Item Script Mapping
*.rpx: ActiveReport 11 RPX Script Mapping
*.rdlx, *.rdl: ActiveReports 11 RDLX Script Mapping
重启IIS,此问题得到解决!
问题2:ViewerType="FlashViewer",IO错误:#2032
默认情况下,先需要拷贝C:\Program Files (x86)\ComponentOne\ActiveReports Developer 11\Deployment\Flash\下的全部文件(Grapecity.ActiveReports.Flash.v11.swf\ Grapecity.ActiveReports.Flash.v11.Resources.swf),到IIS文件夹的根目录下
#2032这个错误,已经纳入文档的Troubleshooting了:ActiveReports Developer 11 > ActiveReports Developer Guide > Troubleshooting
初步分析原因: ActiveReports在IIS的 Handler Mappings未配置正确,或者web.config文件配置引起的
参考手册,采用如下办法,把Appliction Pool修改为integrated Mode。
重启IIS!
如果按照上面的操作重启IIS后还是出现#2032的错误,那么还需要您进行如下的操作。导致这种在本地运行完全可以,但是发布到服务器就报错的主要问题还是引用缺失导致的,需要引用的添加。
具体步骤:
1、看下面的引用中是否存在GrapeCity.ActiveReports.Export.Document.v11这个Dll 引用。如果不存在就添加该引用。引用的路径如下:C:\Program Files (x86)\Common Files\GrapeCity\ActiveReports 11
2、引用添加完成后,选中所以的引用然后点击右键属性,设置Copylocal=True。然后生成成功发布后,一般百分之九十五就可以解决。如果目前还是存在问题,就需要您把所有的AR引用全部复制拷贝到发布文件的bin路径下就可以了。
最后重启IIS
备注:
- 1 FlashViewer默认是英文UI,修改为中文用这行代码
1: this.WebViewer1.FlashViewerOptions.ResourceLocale = "zh_CN";
- 2 注意IIS服务器是32位还是64位和.NetFramework版本IIS和ASP.net程序一致。
- 3 注意Application Pool类型:Classic Mode、Integrated Mode的区别
更多关于IIS部署的参考资料:
ActiveReports 6.0产品使用指南 (4)Win7部署方法