//用户为a,密码为a,为本机arcgisadmin,arcgisuser组的用户,su机器名
ESRI.ArcGIS.ADF.Identity identity = new ESRI.ArcGIS.ADF.Identity("a", "a", "su");
ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection ags_connection;
ags_connection = new ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection("su", identity);
ags_connection.Connect();
IServerObjectManager pSOM = ags_connection.ServerObjectManager;
//OverView为发布的地图名称
IServerContext pServerContext = pSOM.CreateServerContext("OverView", "MapServer");
IMapServer pMapServer = pServerContext.ServerObject as IMapServer;
IMapServerObjects pMapServerObjs = pMapServer as IMapServerObjects;
IMap pMap = pMapServerObjs.get_Map(pMapServer.DefaultMapName);
IFeatureLayer pFLayer = pMap.get_Layer(0) as IFeatureLayer;
IFeatureClass pFeatureClass = pFLayer.FeatureClass;
Console.WriteLine(pFeatureClass.FeatureCount(null).ToString());
pServerContext.ReleaseContext();
//下面是获取服务器地图显示到winfrom窗口的Picture空件
ESRI.ArcGIS.ADF.Identity identity = new ESRI.ArcGIS.ADF.Identity("a", "a", "su");
ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection ags_connection;
ags_connection = new ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection("su", identity);
ags_connection.Connect();
IServerObjectManager pSOM = ags_connection.ServerObjectManager;
IServerContext pServerContext = pSOM.CreateServerContext("OverView", "MapServer");
IMapServer pMapServer = pServerContext.ServerObject as IMapServer;
IImageType it = pServerContext.CreateObject("esriCarto.ImageType") as IImageType;
it.Format = esriImageFormat.esriImageJPG;
it.ReturnType = esriImageReturnType.esriImageReturnMimeData;
IImageDisplay idisp = pServerContext.CreateObject("esriCarto.ImageDisplay") as IImageDisplay;
idisp.Height = 400;
idisp.Width = 500;
idisp.DeviceResolution = 150;
IImageDescription pID = pServerContext.CreateObject("esriCarto.ImageDescription") as IImageDescription;
pID.Display = idisp;
pID.Type = it;
IMapServerInfo pMapServerInfo = pMapServer.GetServerInfo(pMapServer.DefaultMapName);
IMapDescription pMD = pMapServerInfo.DefaultMapDescription;
IImageResult pMI = pMapServer.ExportMapImage(pMD, pID);
// do something with the image
Image imge = byteArrayToImage(pMI.MimeData);
pictureBox1.Image = imge;
pServerContext.ReleaseContext();
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}