The main use of AE in the Iagsserveroject interface and Imapserver interface.
Private void Getservertest_click (object sender, EventArgs e)
{
Get the Service object name
iagsserverobjectname Pserverobjectname =getmapserver ("Http://services.arcgisonline.com/ArcGIS/services", "esri_imagery_world_2d", FALSE);
iname pName = (IName) Pserverobjectname;
//Access Map Service
iagsserverobject Pserverobject = (iagsserverobject) pname.open ();
imapserver pMapServer = (IMapServer) Pserverobject;
esri. ArcGIS.Carto.IMapServerLayer Pmapserverlayer = new ESRI. ArcGIS.Carto.MapServerLayerClass ();
//Connection Map Service
Pmapserverlayer.serverconnect (Pserverobjectname, pmapserver.defaultmapname);
Add a data layer
Axmapcontrol1.addlayer (Pmapserverlayer as ILayer);
Axmapcontrol1.refresh ();
}
Public Iagsserverobjectname Getmapserver (string phostorurl, String pservicename, bool Pislan)
{
Setting connection Properties
Ipropertyset ppropertyset = new Propertysetclass ();
if (Pislan)
Ppropertyset.setproperty ("Machine", phostorurl);
Else
Ppropertyset.setproperty ("url", Phostorurl);
Open connection
Iagsserverconnectionfactory pfactory = new Agsserverconnectionfactory ();
Type Factorytype = Type.gettypefromprogid (
"Esrigisclient.agsserverconnectionfactory");
Iagsserverconnectionfactory agsfactory = (iagsserverconnectionfactory)
Activator.CreateInstance (Factorytype);
Iagsserverconnection pconnection = Pfactory.open (ppropertyset, 0);
Get the image server.
Iagsenumserverobjectname pserverobjectnames = pconnection.serverobjectnames;
Pserverobjectnames.reset ();
Iagsserverobjectname serverobjectname = Pserverobjectnames.next ();
while (serverobjectname! = null)
{
if ((ServerObjectName.Name.ToLower () = = Pservicename.tolower ()) &&
(Serverobjectname.type = = "MapServer"))
{
Break
}
Serverobjectname = Pserverobjectnames.next ();
}
Return object
return serverobjectname;
}
vs2008+ae9.3 compiled by
Http://blog.sina.com.cn/s/blog_5d25ac4e0100yncl.html
Use Arcengine to invoke services published by ArcGIS Server under WinForm in C # AE9.3