ArcGIS Engine 10.1操纵Server指南

需积分: 9 2 下载量 12 浏览量 更新于2024-07-26 收藏 736KB PDF 举报
"ArcGIS Engine 如何操纵Server" 在 ArcGIS 的世界中,ArcGIS Engine 是一个强大的开发工具,允许开发者构建与地理空间数据相关的桌面、移动和 Web 应用程序。本文档主要讨论如何在 ArcGIS Engine 10.1 版本中操纵 ArcGIS Server,特别关注在新版本中由于 DCOM 支持的移除而引发的问题以及解决方案。 在10.1之前,一些开发者利用 ArcGISEngine 来管理和操控 ArcGIS Server,包括发布和停止服务等任务,这些操作是通过 DCOM(分布式组件对象模型)方式进行的。然而,从10.1版本开始,ArcGIS Server 不再支持 DCOM 连接。这意味着使用旧版代码中涉及 GISServerConnection 或 AGSServerConnection 接口的开发者需要进行相应的代码更新。 面对这个问题,Esri 提供了新的 ADMIN API,使得开发者可以通过 HTTP 请求来构造管理 ArcGIS Server 所需的参数。这标志着管理方式从 DCOM 转向了基于 HTTP 的 RESTful API。通过学习桌面客户端(ArcGIS Desktop)如何连接到 Server,我们可以理解如何在代码中实现这一转变。在 ArcGIS Desktop 中,连接 Server 需要指定角色和服务类型,如 SDS(Service Definition Files)和 ArcGISServer。 以下是一个示例代码片段,展示了如何在 ArcGIS Engine 10.1 中使用 IPropertySet 连接 ArcGIS Server: ```csharp public IServerObjectAdmin ConnectAGS(string host, string username, string password) { try { IPropertySet propSet = new PropertySetClass(); propSet.SetProperty("Server", host); propSet.SetProperty("User", username); propSet.SetProperty("Password", password); propSet.SetProperty("Version", "10.1"); propSet.SetProperty("ConnectAsAdmin", true); // 创建服务器连接 IAGSServerConnection agsConnection = new AGSServerConnectionClass(); agsConnection.Initialize(propSet); return agsConnection.ServerObject as IServerObjectAdmin; } catch (Exception ex) { // 错误处理 } } ``` 此代码示例演示了如何通过设置属性集合(IPropertySet)来建立连接,包括主机名、用户名、密码、版本号以及表明要以管理员身份连接的标志。然后,使用 AGSServerConnection 类初始化并返回 IServerObjectAdmin 接口,以便进行管理操作。 除了上述的 IAGSServerConnection 接口,ArcGIS Engine 10.1 还提供了其他接口和类,如 IAOIConnection 和 IAOIAdminConnection,用于操作和管理 ArcGIS Server。通过这些接口,开发者可以执行发布服务、启动或停止服务、监控服务器状态等一系列管理任务。 总结起来,从 ArcGIS Engine 10.1 开始,管理 ArcGIS Server 的方式发生了变化,开发者需要从依赖 DCOM 的方式转向使用基于 HTTP 的 ADMIN API。这不仅要求代码的更新,同时也意味着需要对新的 API 和接口有深入的理解,以确保应用能顺利地与 ArcGIS Server 10.1 及更高版本进行交互。