ArcGIS Engine访问ArcGIS Server服务【一】
分享
GISClient类库允许开发者使用Web服务,这些Web服务可以由ArcIMS和ArcGIS Server提供。GISClient类库中包含用于连接GIS服务器以使用Web服务的对象。该类库支持ArcIMS的图像和要素服务。GISClient类库提供以无态方式直接或通过Web服务目录操作ArcGIS Server对象的通用编程模型。在ArcGIS Server上运行的ArcObjects组件不能通过GISClient接口来访问。要直接获得访问在服务器上运行的ArcObjects,开发人员应使用Server类库中的功能。
代码实现部分:
Ø 打开连接
private void OpenConn(bool bLAN,string sval)
{
try
{
IAGSServerConnectionFactory pConnF = new AGSServerConnectionFactory();
IPropertySet pProSet = new PropertySet();
if(bLAN)
pProSet.SetProperty(“machine”, sval);
else
pProSet.SetProperty(“url”, sval);
clsPublic.pConn = pConnF.Open(pProSet, 0);
if(clsPublic.pConn != null)
{
MessageBox.Show(“连接成功“, “提示“, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show(“连接失败“,”提示“, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
catch {}
}
Ø 加载地图
publicvoid AddMapService(AxMapControl pMapCtrl, string sServiceName, IAGSServerConnection pConn)
{
pConn.ServerObjectNames.Reset();
IAGSEnumServerObjectName pEnumServerObjectNames =pConn.ServerObjectNames;
pEnumServerObjectNames.Reset();
IAGSServerObjectName pServerObjectName =pEnumServerObjectNames.Next();
IAGSServerObjectName sServerObjectName = null;
while (pServerObjectName != null)
{
if(pServerObjectName.Name == sServiceName)
{
sServerObjectName =pServerObjectName;
break;
}
pServerObjectName =pEnumServerObjectNames.Next();
}
if (sServerObjectName == null)
{
MessageBox.Show(“没有找到对应的MapService”, “提示“, MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
return;
}
IName pName = sServerObjectName asIName;
IMapServer pMapServer = pName.Open() asIMapServer;
IMapServerLayer pMSLyr = newMapServerLayerClass();
pMSLyr.ServerConnect(sServerObjectName, pMapServer.DefaultMapName);
ILayer plyr = pMSLyr asILayer;
pMapCtrl.ClearLayers();
pMapCtrl.AddLayer(plyr);
pMapCtrl.Extent = pMapCtrl.FullExtent;
}
文章来源:http://blog.csdn.net/sydbc/article/details/17138977
代码实现部分:
Ø 打开连接
private void OpenConn(bool bLAN,string sval)
{
try
{
IAGSServerConnectionFactory pConnF = new AGSServerConnectionFactory();
IPropertySet pProSet = new PropertySet();
if(bLAN)
pProSet.SetProperty(“machine”, sval);
else
pProSet.SetProperty(“url”, sval);
clsPublic.pConn = pConnF.Open(pProSet, 0);
if(clsPublic.pConn != null)
{
MessageBox.Show(“连接成功“, “提示“, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show(“连接失败“,”提示“, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
catch {}
}
Ø 加载地图
publicvoid AddMapService(AxMapControl pMapCtrl, string sServiceName, IAGSServerConnection pConn)
{
pConn.ServerObjectNames.Reset();
IAGSEnumServerObjectName pEnumServerObjectNames =pConn.ServerObjectNames;
pEnumServerObjectNames.Reset();
IAGSServerObjectName pServerObjectName =pEnumServerObjectNames.Next();
IAGSServerObjectName sServerObjectName = null;
while (pServerObjectName != null)
{
if(pServerObjectName.Name == sServiceName)
{
sServerObjectName =pServerObjectName;
break;
}
pServerObjectName =pEnumServerObjectNames.Next();
}
if (sServerObjectName == null)
{
MessageBox.Show(“没有找到对应的MapService”, “提示“, MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
return;
}
IName pName = sServerObjectName asIName;
IMapServer pMapServer = pName.Open() asIMapServer;
IMapServerLayer pMSLyr = newMapServerLayerClass();
pMSLyr.ServerConnect(sServerObjectName, pMapServer.DefaultMapName);
ILayer plyr = pMSLyr asILayer;
pMapCtrl.ClearLayers();
pMapCtrl.AddLayer(plyr);
pMapCtrl.Extent = pMapCtrl.FullExtent;
}
文章来源:http://blog.csdn.net/sydbc/article/details/17138977
0 个评论
推荐内容
- ArcGIS Pro 2.4向独立server发布服务步骤
- Linux上安装ArcGIS Enterprise超详细教程——以Redhat7.2上安装ArcGIS Enterprise 10.5为例
- ArcGIS for Server 10.x 许可授权手册
- Portal for ArcGIS 10.X许可授权手册 (Windows版)
- arcgis server 无法手动删除切片
- ArcGIS for Server内置JS Viewer的离线部署和配置
- Linux上安装ArcGIS for Server超详细教程——以Redhat6.5上安装ArcGIS for Server 10.3.1为例
- 如何创建Geometry Service?
- 地图服务优化策略
相关问题
- 如何优雅的使用ArcGIS知乎?
- 建设ArcGIS知乎平台的目和意义?
- ArcGIS知乎社区改进意见征集
- 苹果系统下可以使用arcgis 吗?
- arcgis版本兼容性
- 请问ArcGIS适合在局域网内用javaweb做二次开发吗?
- 请问大神们,怎么用ArcGIS做城镇间经济联系强度的图?
- 在Visual studio 2015 中使用 Arcgis API for JavaScript v3.16 如何实现代码智能提示?
- ArcGIS如何求栅格图像的“质心”
- 用arcgis做网络分析,求解失败,为什么出现事件点未找到设施点的警告呢?
- 安装arcgis server 需要不需要安装网络服务器(如IIS和Apache)和.Net Frameworkma?