1

我的 MapResourceManager 中有一个名为“MapResourceItem0”的“ArcGIS Server Internet”资源,是其他两个资源中的第三个。

我需要获取该资源中图层的特征,但无法获取 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;

            }
        }

失败并出现以下错误

System.InvalidCastException:无法将对象从“ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.MapResourceInternet”转换为“ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource”。

我不明白,示例和文档清楚地表明这是可以接受的,那有什么问题?我正在使用 arcgis 服务器 10

4

1 回答 1

0

我(幸运的是)没有安装网络 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;
于 2011-08-02T22:41:23.533 回答