zoukankan      html  css  js  c++  java
  • ArcGIS Server连接远程地图服务器

     

    在ArcGIS Server的程序中来连接GIS Server,通常有两个理由:1、连接后,创建ServerContext,之后创建更多的AO对象,从而在程序中调用AO来工作;2、连接后,可以用来管理GIS Server,比如重新启动某个服务。

    通过程序来连接到GISServer,主要有两个对象可以使用:ESRI.ArcGIS.Server.GISServerConnection(实现了IGISServerConnection2接口)和ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection。前者是com对象,后者是原生的.net对象。
        先来看ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection。这是ADF中的.net对象,通常推荐使用这个对象来进行连接工作,因为它可以指定使用特定的账户身份来连接GIS Server。

    /*经本人测试,好像只有当本机和连接的机器(当然两个不是同一机器)的用户名和密码分别一样时,才能连接上远程地图服务。这可能是本机的环境的问题同时必须保证此连接用户是属于agsadmin 和agsusers用户组中的*/
                   ESRI.ArcGIS.ADF.Identity id = new ESRI.ArcGIS.ADF.Identity("Administrator", "123456", "gis2-trq");

                   ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection agsconn;

                   agsconn = new ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection("10.150.38.34", id);

                   agsconn.Connect();

     

                   if (!agsconn.IsConnected)

                   {

                       agsconn.Dispose();

                       return ;

                   }

                  //获取som对象,然后因此获取地图对象

                ESRI.ArcGIS.Server.IServerObjectManager som = agsconn.ServerObjectManager;

                   string servertype = "MapServer";

                   string serverobjectname = "GAL";

                   ESRI.ArcGIS.Server.IServerContext sc = som.CreateServerContext(serverobjectname, servertype);

                   IMapServer pMapServer = sc.ServerObject as IMapServer;

                   IMapServerObjects pMapServerObjs = pMapServer as IMapServerObjects;

         IMap pMap = pMapServerObjs.get_Map(pMapServer.DefaultMapName);

     

    再来看ESRI.ArcGIS.Server.GISServerConnection。使用方法如下:
    ESRI.ArcGIS.Server.IGISServerConnection2 pGISSC = new ESRI.ArcGIS.Server.GISServerConnectionClass();
    pGISSC.Connect("yourservername");
    ESRI.ArcGIS.Server.IServerObjectAdmin pAdm= pGISSC.ServerObjectAdmin;

    /*经本人测试,这种连接方式与上种需要满足的条件是一样的 */

     

    一起学习GIS及其二次开发,一起进步!
  • 相关阅读:
    远程登陆服务——SSH
    A web-based 3D modeling framework for a runner-gate design( 一种基于web的三维建模框架)
    Vue+Element+Echarts+Springboot+微信小程序开发(肿瘤医学项目)
    基于拖放布局的 Twitter Bootstrap 网站生成器
    Ubuntu下git使用华为云/gitee/github
    在 Ubuntu 18.04 上安装 Postman
    在Ubuntu 18.04上安装Git与入门教程
    转载:渲染层和逻辑层
    Ubuntu系统中安装Neo4j
    NosqlBooster连接数据库失败connect ECONNREFUSED 127.0.0.1:27017——mongodb连接失败
  • 原文地址:https://www.cnblogs.com/tuncaysanli/p/1423983.html
Copyright © 2011-2022 走看看