ArcGIS Server動態創建MapServer
#region 創建地圖服務 02. private bool CreateServices(string MapPath, string ServerName)//ServerName為地圖服務設置的服務名 03. { 04. ESRI.ArcGIS.ADF.Identity identity = new ESRI.ArcGIS.ADF.Identity(MapServerUserName, MapserverPass, "");//MapServerUserName和MapserverPass為連接ArcGIS Server的用戶名和密碼 05. ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection agsConnection = new ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection(HostName, identity);//HostName為ArcGIS Server所在服務器的主機名 06. agsConnection.Connect(); 07. IServerObjectAdmin pServerObjectAdmin; 08. pServerObjectAdmin = agsConnection.ServerObjectAdmin; 09. IServerObjectConfiguration2 configuration = (IServerObjectConfiguration2)pServerObjectAdmin.CreateConfiguration(); 10. configuration.Name = ServerName;//發布Service的名稱,必填 11. configuration.TypeName = "MapServer";//發布服務的類型,如:MapServer,GeocodeServer 12. IPropertySet props = configuration.Properties; 13. props.SetProperty("FilePath", MapPath);//設置MXD的路徑 14. props.SetProperty("OutputDir", "c:\\arcgisserver\\arcgisoutput");//圖片的輸出目錄 15. props.SetProperty("VirtualOutPutDir", "http://" + HostName + "/arcgisoutput");//圖片輸出的虛擬路徑 16. props.SetProperty("SupportedImageReturnTypes", "URL");//支持的圖片類型 17. props.SetProperty("MaxImageHeight", "2048");//圖片的最大高度 18. props.SetProperty("MaxRecordCount", "500");//返回記錄的最大條數 19. props.SetProperty("MaxBufferCount", "100");//緩沖區分析的最大數目 20. props.SetProperty("MaxImageWidth", "2048");//圖片的最大寬度 21. props.SetProperty("IsCached", "false");//是否切片 22. props.SetProperty("CacheOnDemand", "false");//是否主動切片 23. props.SetProperty("IgnoreCache", "false");//是否忽略切片 24. props.SetProperty("ClientCachingAllowed", "true");//是否允許客戶端緩沖 25. props.SetProperty("CacheDir", "c:\\arcgisserver\\arcgiscache\\NewService");//切片的輸出路徑 26. props.SetProperty("SOMCacheDir", "c:\\arcgisserver\\arcgiscache");//som的切片輸出路徑 27. 28. //configuration.Description = "NewService";//Service的描述 29. configuration.IsolationLevel = esriServerIsolationLevel.esriServerIsolationHigh;//或者esriServerIsolationLow,esriServerIsolationAny 30. configuration.IsPooled = true;//是否池化 31. configuration.MaxInstances = 2;//最多的實例數 32. configuration.MinInstances = 1;//最少的實例數 33. 34. ////設置刷新 35. IPropertySet recycleProp = configuration.RecycleProperties; 36. recycleProp.SetProperty("StartTime", "00:00");//刷新開始時間 37. recycleProp.SetProperty("Interval", "3600");//刷新間隔 38. 39. ////設置是否開啟REST服務 40. IPropertySet infoProp = configuration.Info; 41. infoProp.SetProperty("WebEnabled", "true");//是否提供REST服務 42. infoProp.SetProperty("WebCapabilities", "Map,Query,Data");//提供何種服務 43. 44. //configuration.StartupType = esriStartupType.esriSTAutomatic;//或者esriSTManual 45. //configuration.UsageTimeout = 120;//客戶端占用一個服務的最長時間 46. //configuration.WaitTimeout = 120;//客戶端申請一個服務的最長等待時間 47. #endregion 48. 49. //添加服務到Server 50. pServerObjectAdmin.AddConfiguration(configuration); 51. 52. //啟動服務 53. pServerObjectAdmin.StartConfiguration(ServerName, "MapServer");//設置服務類型為MapServer,並啟動服務 54. return true; 55. 56. } 57. #endregion
ArcGIS Server動態創建ImageServer
[csharp] view plaincopyprint? 01. private bool CreateServices(string ImagePath, string ServerName) 02. { 03. ESRI.ArcGIS.ADF.Identity identity = new ESRI.ArcGIS.ADF.Identity(MapServerUserName, MapserverPass, ""); 04. ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection agsConnection = new 05. 06. 07.ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection(HostName, identity); 08. agsConnection.Connect(); 09. IServerObjectAdmin pServerObjectAdmin; 10. pServerObjectAdmin = agsConnection.ServerObjectAdmin; 11. IServerObjectConfiguration2 configuration = (IServerObjectConfiguration2)pServerObjectAdmin.CreateConfiguration(); 12. configuration.Name = ServerName;//發布Service的名稱,必填 13. configuration.TypeName = "ImageServer";//發布服務的類型,如:MapServer,GeocodeServer 14. IPropertySet propertySet = configuration.Properties; 15.<span style="color: rgb(255, 0, 0);"> propertySet.SetProperty("Path", ImagePath);//設置Image的路徑</span> 16. propertySet.SetProperty("Start", "00:00"); 17. propertySet.SetProperty("Interval", "24"); 18. propertySet.SetProperty("SupportedImageReturnTypes", "URL"); 19.<span style="color: rgb(255, 153, 0);"> propertySet.SetProperty("OutputDir", "c:\\arcgisserver\\arcgisoutput");//圖片的輸出目錄 20. propertySet.SetProperty("VirtualOutPutDir", "http://" + HostName + "/arcgisoutput");//圖片輸出的虛擬路徑</span> 21. //propertySet.SetProperty("MaxImageHeight", 4100);//4100 22. // propertySet.SetProperty("MaxImageWidth", 15000);//15000 23. //propertySet.SetProperty("AllowedCompressions", "None,JPEG,LZ77");//"None,JPEG,LZ77" 24. //propertySet.SetProperty("DefaultResamplingMethod", 0);//0 25. //propertySet.SetProperty("DefaultCompressionQuality", 75);//75 26. //propertySet.SetProperty("MaxRecordCount", 500);//500 27. //propertySet.SetProperty("MaxMosaicImageCount", 1);//20 28. //propertySet.SetProperty("MaxDownloadImageCount", 20);//20 29. //propertySet.SetProperty("AllowedFields","Name,MinPS,MaxPS,LowPS,HighPS,CenterX,CenterY");//"Name,MinPS,MaxPS,LowPS,HighPS,CenterX,CenterY" 30. //propertySet.SetProperty("AllowedMosaicMethods","Center,NorthWest,LockRaster,ByAttribute,Nadir,Viewpoint,Seamline");//"Center,NorthWest,LockRaster,ByAttribute,Nadir,Viewpoint,Seamline" 31. //propertySet.SetProperty("AllowedItemMetadata", "Full");//"Full" 32. //ImageServiceInfo pImageSerivce = new ImageServiceInfo(); 33. configuration.StartupType = esriStartupType.esriSTAutomatic; 34. configuration.MinInstances = 1; 35. configuration.MaxInstances = 2; 36. configuration.IsPooled = true; 37. configuration.Info.SetProperty("WebEnabled", "true"); 38. configuration.Info.SetProperty("WebCapabilities", "Image,Catalog,Metadata,Download,Pixels"); 39. pServerObjectAdmin.AddConfiguration(configuration); 40. //啟動服務 41. pServerObjectAdmin.StartConfiguration(ServerName, "ImageServer");//設置服務類型並啟動服務 42. return true; 43. }