【问题标题】:MapResource object cast problemMapResource 对象转换问题
【发布时间】:2011-08-01 11:53:01
【问题描述】:

我的 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

【问题讨论】:

  • 您可能会考虑在 gis.stackexchange.com 上发布此问题

标签: c# asp.net gis arcgis arcgis-server


【解决方案1】:

我(幸运的是)没有安装网络 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-02-20
  • 1970-01-01
  • 1970-01-01
  • 2023-01-26
  • 1970-01-01
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多