/*****************************************************************************************/
//2010年8月13日
//ArcGIS Server网站发布后地图显示空白的原因之一
//资料来源:网络
//转载地址:http://www.cnblogs.com/gis123/archive/2009/03/12/1409422.html
/*****************************************************************************************/
一般来说,在地图网站发布后,如果地图区域显示为空白,但可以看到其他控件,可能是因为:1、引用的service运行不正常;2、通过local方式连接而没有添加arcgis identity;3、Web Server机器名中含有下划线“_”。但实际情况可能不止这些,碰到这个问题后只能耐心寻找原因来解决问题。
今天刚好碰到了这个情况:用模板程序发布一个网站,mapresource manager中添加了一个经过cache的map service,本机浏览正常,但通过外网浏览的时候,界面显示正常,地图区域空白;如果引用一个没有经过cache的服务的话,外网和本机浏览都正常。网络是这样的,web server和gis server都在本机上,本机处于局域网中,通过路由的转发规则设置外网访问网络ip时自动转到本机ip上来。cache和非cache的服务区别就在于显示地图时,前者是直接获取服务器上的图片,而后者是gis server动态生成图片然后发送到客户端。那么可以看出是在获取缓存图片时出问题了,而本机可以访问到,外网却访问不到,那么估计可能和虚拟路径有关。在外网机器上查看http请求,发现如图情况:
可以看出,在获取其他控件的图片时,使用了网络的对外ip,而获取cache图片时使用的确实本机名。毫无疑问是cache路径的虚拟目录设置不对。一般安装完ags后,设置cache,job,output所对应的虚拟路径时,习惯用hostname作为域名,这和iis设置相符,但如果要对外发布的话,要考虑到这个情况。更改了cache路径的虚拟目录后,外网浏览就程序就正常了。