在使用ArcGIS Silverlight、Flex等API进行地图应用展示的时候,客户端经常需要将地图保存为图片。由于访问地图资源内容会包含缓存地图服务(例如ArcGISTiledMapServicesLayer),这种情况下地图缓存内容来自arcgiscache缓存目录;但是,Web应用程序和arcgiscahce虚拟目录是分开的,它们是属于不同的应用域,所以在截图时会出现下面的错误。
解决步骤如下:
1、为arcgisserver的缓存目录arcgiscahce设置共享目录,\localhostarcgiscahce,并设置读写权限。
2、然后在我们部署的应用程序目录里建立一个虚拟目录,指向刚才我们的共享路径,指定一个别名,例如arcgiscache,如下图:
3、配置ArcGIS Server的Server属性,添加缓存类型的目录,物理路径名为刚才我们创建的共享路径,虚拟路径为我们的应用程序里的刚才新建的虚拟目录路径,例如http:\localhostMapExportarcgiscache,如下图:
4、修改Web应用程序访问的缓存地图服务,修改其所使用的缓存目录为我们添加的共享路径,如下图;然后重启动ArcGISServer服务