探究AE对ArcGIS Server的连接和控…

一、程序集(ESRI.ArcGIS.Server)
1、IGISServerConnection
当应用程序需要使用ArcGIS Server上发布的服务,或者需要在Server上创建新的对象,或者希望获取对Server的管理权限时,可以使用该接口连接到ArcGIS Server
使用IGISServerConnection连接ArcGIS Server时,运行应用程序账户必须在Server的agsusers或者agsadmin组里面
2、两个接口
IServerObjectManager: 获取Server支持服务类型,服务列表,服务目录,获取已发布的某一个服务的相关信息,修改已发布的某一个服务的内容(比如往Map增加一个图层)
IServerObjectAdmin: 权限更高,包括发布服务、删除服务、启动或停止服务、更改服务配置属性信息等
3、使用权限
IServerObjectManager: 运行应用程序的账户必须在ArcGIS Server的agsusers组里面;
IServerObjectAdmin: 运行应用程序的账户必须在ArcGIS Server的agsadmin组里面;
4、两个接口的使用举例
            // 获取发布的服务列表(XSemap:MapServer)
            IGISServerConnection2 gisServerConnection new GISServerConnection() as IGISServerConnection2;
            gisServerConnection.Connect("machineName");  // 服务器机器名
            IServerObjectManager serverObjectManager gisServerConnection.ServerObjectManager;
            IEnumServerObjectConfigurationInfo enumConfigInfo serverObjectManager.GetConfigurationInfos();
            IServerObjectConfigurationInfo configInfo enumConfigInfo.Next();
            while (configInfo != null)   // 列举所有发布的服务及类型(MapServer等)
            {
                MessageBox.Show(configInfo.Name ": configInfo.TypeName);
                configInfo enumConfigInfo.Next();
            }


            // 获取服务器目录列表(如arcgiscache/arcgisjobs/arcgisoutput)
            IEnumServerDirectoryInfo pEnumSDirInfo serverObjectManager.GetServerDirectoryInfos();
            IServerDirectoryInfo pSDirInfo pEnumSDirInfo.Next();
            while (pSDirInfo != null)   
            {
                MessageBox.Show(pSDirInfo.Path);
                pSDirInfo pEnumSDirInfo.Next();
            }

            // 获取可发布的地图服务类型(如MapServer,ImageServer,GPServer,GeoCodeServer等)
            IEnumServerObjectTypeInfpEnumTypeInfo serverObjectManager.GetTypeInfos();
            IServerObjectTypeInfo pTypeInfo  pEnumTypeInfo.Next();
            while (pTypeInfo  != null)   
            {
                MessageBox.Show(pTypeInfo.Name);
                pTypeInfo pEnumTypeInfo.Next();
            }

            // ServerContext是服务器上的一个进程,你可以创建新的进程,也可以使用现有的进程
            // IServerContext提供操作某一个进程内对象的方法,包括在进程内创建新的对象,删除对象、更新对象等等
            // (1)创建一个空的ServerContext,并在其中添加一个Polygon
            IGISServerConnection gisServerConnection new GISServerConnection();
            gisServerConnection.Connect("3EDRYUFUUEMCCKS");
            IServerObjectManager4 serverObjectManager (IServerObjectManager4)gisServerConnection.ServerObjectManager;
            IServerContext serverContext serverObjectManager.CreateServerContext("","");
            // IServerContext serverContext serverObjectManager.CreateServerContext("XSemap", "MapServer"); 获取已发布某一个地图服务进程
            IPointCollection4 gonColl (IPointCollection4)(serverContext.CreateObject("esriGeometry.Polygon")); 
二、探究了下,程序集(ESRI.ArcGIS.GISClient)基本可以实现与上一个程序集相同的功能,分别通过IAGSServerConnection 接口和IAGSServerConnectionAdmin接口
三、注意:两个程序集对Server的深度控制都只限于局域网中使用 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值