ArcGIS Engine 10.1操纵Server指南
需积分: 9 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 及更高版本进行交互。
2010-12-20 上传
2010-09-03 上传
2022-09-20 上传
2022-09-20 上传
2016-05-28 上传
2011-06-11 上传
2022-09-19 上传
虎啸天
- 粉丝: 0
- 资源: 14
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查