SO对象是存在于SOC机器上面的,主要有以下几种SO:     

  • esriCarto.MapServer
  • esriLocation.GeocodeServer
  • esriGeodatabase.GeodataServer
  • esriGlobeCore.GlobeServer

     如何从服务器中获取SO呢,当我们向服务器请求的时候,便可以获取SO对象,我们可以想象server context就是一个程序,被服务器所管理的,而SO对象则是在其中运行生存.这个SO我们可以认为是地图对象,层对象等其他一些相关的对象.
      同样接下来,我们讨论的是服务器与服务器对象的关系,如果一个服务器中只有一个对象,那么可以用AS转化成服务器对象
比如:    

关于SOIMapServer pMapServer = pServerContext.ServerObject as IMapServer;
关于SOIMapServerObjects pMapServerObjs 
= pMapServer as IMapServerObjects;
关于SOIMap pMap 
= pMapServerObjs.get_Map(pMapServer.DefaultMapName);
关于SO
    在完成一个任务后,记得将server context释放!如果没有这句的话,那么将依赖.net的垃圾回收机制进行回收!
    总的来说,SO是非常重要的,我们所有的处理都是由其开始,也就是说这就是我们的一个源!
    当涉及到一些网络扩展分析时,需要用到SO的扩展:
   
关于SOIServerObjectManager pSOM;
关于SOIServerContext pServerContext 
= pSOM.CreateServerContext("RedlandsMap""MapServer");
关于SOIMapServer pMapServer 
= pServerContext.ServerObject as IMapServer;
关于SOIServerObjectExtensionManager pSOExtManager 
= pMapServer as IServerObjectExtensionManager;
关于SO
关于SOIServerObjectExtension pSOExt 
= pSOExtManager.FindExtensionByName("NAServer");
关于SOINAServer naserver 
= pSOExt as INAServer;
关于SO            
关于SO
// do some network analysis
关于SO

关于SOpServerContext.ReleaseContext();
关于SO

    在非池式模式下,一旦context释放,那么下次将会被重建,如果是在是池式,那么并不会真正在SOC上释放,只是清空.8

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-13
  • 2022-02-02
  • 2021-12-23
  • 2021-07-08
  • 2022-12-23
猜你喜欢
  • 2021-08-09
  • 2021-12-04
  • 2021-11-06
  • 2021-12-04
  • 2022-12-23
相关资源
相似解决方案