许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Esri的proxy和config的配置方法

Esri的proxy和config的配置方法

阅读数 31
点赞 0
article_banner


 一、遇到的问题描述:
 

        在参考ArcGIS Resource Center中的Query task->Query map with buffer polygon中使用queryTask.execute(query)执行查询的时候,总是不会触发到dojo.connect(queryTask, "onComplete", function(fset)中的onComplete事件。
 

     部分代码如下:
 

       {
 

            ……
 

            query.geometry = graphic.geometry;
 

            queryTask.execute(query);
 

            dojo.byId('messages').innerHTML = "<b>Executing Query with Result Buffer Geometry...</b>";
 

          });
 

          // +++++Listen for QueryTask executecomplete event+++++
 

          dojo.connect(queryTask, "onComplete", function(fset) {
 

           ……
 

          }
 

      后来firebug中调试发现:query.geometry是个多边形(含有的point多)导致的web service的url的参数个数大于2048个,而我们这里采用的是get方式(最大的字符数为2048)不是post方式。所以我们需要一个proxy page做代理(即例子中的proxy.ashx)。
 

       关于proxy.ashx可以参考: http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/arcgis/help/jshelp_start.htm中的working with ArcGIS Server Service ---> Using the proxy page相关.
 

      这里大概介绍下使用方法(具体的参考上述ESRI官网的帮助):
 

      I、下载proxy.ashx文件(包含proxy.config)的zip压缩包,将上述两个包解压到你的web application的目录下.然后在程序中添加上它们两个.
 

      II、修改proxy.config配置文件:<serverUrls>节点下添加一个子节点<serverUrl >,设置属性url:如果你的web程序用到大于两个服务(下面"二、"说的七种服务)的话  url=http://你的IP地址/arcgis/rest/services/;如果是web程序用到一个服务的话:url=http://你的IP地址/arcgis/rest/services/MyMapService/MapServer 。如果你不是用本地的服务的话你可以不做修改(因为它里面已经有ESRI发布的相关服务的URL了).
 

      III、在你客户端页面的js脚本初始话的时候,或者会导致get方式字符数>2048时。添加如下代码:
 

      esri.config.defaults.io.proxyUrl = "proxy.ashx";(当然这个地址是根据实际在web项目中的位置决定的,也可能是" …/Proxy/proxy.ashx"等)
 

      //可以设置她是不是用proxy page,如果字符数>2048时,默认的是false。
 

      esri.config.defaults.io.alwaysUseProxy = true;
 

      问题就解决了。
 



  二、关于Geometry service相关:
 

         1、9.3中共有七种服务,如下图。每创建一个服务之前,需要创建GIS resource(让人想起了 ADF OEM中的IGISResource),每种服务对应其GIS Resource:
 


       Geometry service不需要任何资源,但是需要人工发布,发布后的地址如: http://esri-pc3973/ArcGIS/rest/services/Geometry/GeometryServer 。关于GP service可以参考安装的离线帮助。
 


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空