/// <summary>
/// 连接地图服务
/// </summary>
/// <param name="pHostOrUrl"></param>
/// <param name="pServiceName"></param>
/// <param name="userName"></param>
/// <param name="pwd"></param>
/// <param name="pIsLAN">是否有访问权限默认为没有true</param>
/// <returns></returns>
public IMapServer GetMapServer(string pHostOrUrl, string pServiceName, string userName = "", string pwd = "", bool pIsLAN = true)
{
IPropertySet pPropertySet = new PropertySetClass();
IMapServer pMapServer = null;
try
{
if (string.IsNullOrEmpty(userName)) pIsLAN = true;
if (pIsLAN)
pPropertySet.SetProperty("machine", pHostOrUrl);
else
{
pPropertySet.SetProperty("url", pHostOrUrl);
pPropertySet.SetProperty("user", userName);
pPropertySet.SetProperty("password", pwd);
}
Type factoryType = Type.GetTypeFromProgID("esriGISClient.AGSServerConnectionFactory");
IAGSServerConnectionFactory pFactory = (IAGSServerConnectionFactory)Activator.CreateInstance(factoryType);
IAGSServerConnection pConnection = pFactory.Open(pPropertySet, 0);
IAGSEnumServerObjectName pServerObjectNames = pConnection.ServerObjectNames;
IAGSServerObjectName ServerObjectName = pServerObjectNames.Next();
while (ServerObjectName != null)
{
if ((ServerObjectName.Name.ToLower() == pServiceName.ToLower()) &&
(ServerObjectName.Type == "MapServer"))
{
break;
}
ServerObjectName = pServerObjectNames.Next();
}
if (ServerObjectName == null)
{
return null;
}
IName pName = ServerObjectName as IName;
//访问地图服务
IAGSServerObject pServerObject = pName.Open() as IAGSServerObject;
pMapServer = pServerObject as IMapServer;
}
catch (Exception ex)
{
throw new Exception("打开MapServer异常:" + ex.Message + "!\r\n请确认MapServer服务是否有访问权限,如有请配置相应权限后重试。");
}
return pMapServer;
}
arcgisengine 连接服务
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。