近期在用Grid Report做Web报表的时候,碰到一件非常挠头的事。

  本地用VS2010写的代码,调试的时候Web报表无法显示,用24.248server上VS2013相同仍是无法显示。最后把项目部署在IISserver上还是无法显示。

  然后就是各种百度。度娘说在IIS上面没有建立MIME映射,所以浏览器无法载入grf文件。好吧,配置IIS的MIME类型:打开IIS管理器-->MIME类型-->加入,文件名称为:.grf。MIME类型:PrintReports/代理费结算表.grf。

  奇迹出现了。IIS上公布的Web报表能够正常訪问了。可我无法在调试阶段查看执行效果,每次必须在VS2010上改动、提交代码。然后在24.248server的VS2013上更新、生成、公布代码,最后在IIS上查看效果。

怎么样,非常挠头吧!

  解决方式一:为IIS Express加入MIME映射。

假设电脑上安装的是VS2010,则必须首先安装IIS Express调试server。由于VS2010自带的Asp.Net Development Server,无法加入MIME映射。关于IIS Express的安装和使用。能够參考博客:IIS的配置使用;假设电脑上安装的是VS2013,则能够直接在IIS Express中加入MIME映射。操作例如以下:

  1.在DOS窗体下进入IIS Express安装文件夹。默认是“C:\Program Files\IIS Express”。

  2.在IIS Express安装文件夹下运行命令:appcmd set config /section:staticContent /+[fileExtension='.xyz',mimeType='text/plain']

  PS:变量 fileExtension 字符串是文件扩展名,变量 mimeType 字符串是文件类型说明,比方我运行的命令是:appcmd set config /section:staticContent /+[fileExtension='.grf',mimeType='PrintReports/代理费结算表.grf']

  如今在调试状态下,浏览器也能够打开Web报表了。

  解决方式二:通过Jenkins管理SVN和IIS。设置Jenkins仅仅要有代码提交,IIS就又一次公布。这样也能时时看到我们提交的代码。

只是这样server的压力肯定非常大。不推荐这样做。

  到此。问题已经解决,最终能够舒口气了。

posted on 2017-05-31 10:37  yutingliuyl  阅读(315)  评论(0编辑  收藏  举报