Проблема приведения объекта MapResource - PullRequest
1 голос
/ 01 августа 2011

У меня есть ресурс «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;

            }
        }

терпят неудачу со следующей ошибкой

System.InvalidCastException: Невозможно привести объект из 'ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.MapResourceInternet' в 'ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource'.

Я не понимаю, в примерах и документации ясно говорится, что это приемлемо, что с этим не так? Я использую ArcGIS Server 10

1 Ответ

0 голосов
/ 03 августа 2011

У меня (к счастью) нет установленного веб-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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...