2011-08-01 40 views
1

我有一個「的ArcGIS Server Internet」資源爲我MapResourceManager稱爲「MapResourceItem0」,是其他兩種資源的三分之一。MapResource對象轉換問題

我需要在此資源層的功能,但我不能獲得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; 

      } 
     } 

是用下面的錯誤而失敗

小號ystem.InvalidCastException:無法從「ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.MapResourceInternet」對象轉換「ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource」。

我不明白,實例和文檔中明確指出,這是可以接受的,這有什麼錯呢?我使用ArcGIS Server 10

+1

你可能要考慮什麼對gis.stackexchange.com – steenhulthin

回答

0

我(幸運)沒有安裝在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; 
+0

張貼這個問題,謝謝請看看我的其他「大」問題就在這裏:http://stackoverflow.com/questions/6901306/intersect-two-layers-and-get-resulting-features –