MapResource对象强制转换问题

本文关键字:转换 问题 对象 MapResource | 更新日期: 2023-09-27 18:04:22

我有一个'ArcGIS Server Internet'资源到我的MapResourceManager称为"MapResourceItem0",是其他两个资源的第三个。

我需要在这个资源中获得层的特征,但是我无法获得MapResource对象

IMapResource mapresource = mapresourcemanager1.GetResource(2);
        ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource graphics_mapresource =
            (ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource)mapresource;

 ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource graphicsresource = null;
        foreach (IGISFunctionality gisfunctionality in map1.GetFunctionalities())
        {
            if (gisfunctionality.Resource.Name == "MapResourceItem0")
            {
                graphicsresource = (ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource)
                    gisfunctionality.Resource;
            }
        }

出现以下错误

系统。不能从ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer强制转换对象。MapResourceInternet' to 'ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource'.

我不明白,例子和文档清楚地说明这是可以接受的,这有什么问题吗?我用的是arcgis server 10

MapResource对象强制转换问题

我(幸运的是)没有安装web ADF。不可能将ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.MapResourceInternet强制转换为任何需要服务器上下文的东西。

但是esri。arcgis。adf . web。datasources。arcgisserver。mapresourceinternet实现了IMapResource所以也许你可以这样做:

IMapResource mapresource = mapresourcemanager1.GetResource(2);
ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.MapResourceInternet graphics_mapresource =
    (ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.MapResourceInternet)mapresource;