然后用arcgis server local方式建立到datasource的连接,这点非常重要,主要是为了在这种连接状态下进行valueobject和comobject之间的转换。建立连接的用户应属于ArcGIS Server管理组。
ESRI.ArcGIS.ADF.Identity identity = new ESRI.ArcGIS.ADF.Identity("user", "password", "localhost");
ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection agsconnection;
agsconnection = new ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection("localhost", identity);
agsconnection.Connect();
ESRI.ArcGIS.Server.IServerObjectManager som = agsconnection.ServerObjectManager;
ESRI.ArcGIS.Server.IServerContext serverContext = som.CreateServerContext("Redlands", "MapServer");
这样我们就可以在arcgis server local连接方式下进行对象转换:
// 定义COM对象的点
ESRI.ArcGIS.Geometry.IPoint ipnt;
// 进行valueobject到comobject之间的转换
ipnt = (ESRI.ArcGIS.Geometry.IPoint)ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.Converter.ValueObjectToComObject(pt, serverContext);