Provides access to members that perform network analysis in a stateless environment within a MapServer.
| Description | ||
|---|---|---|
![]() |
GetNALayerNames | Array of network analysis layers of a particular analysis type. |
![]() |
GetNetworkDescription | Network Dataset DataElement. |
![]() |
GetSolverParameters | Default solver parameters for the specified network analysis layer. |
![]() |
Solve | Perform network analysis based on the input solve parameters. |
| CoClasses and Classes | Description |
|---|---|
| NAServer | A MapServer object extension for performing network analysis within a stateless environment. |
| NAServerIP | NAServer Proxy for IP Messages. |
| NAServerLP | NAServer Proxy for LAN messages. |
INAServer is the main interface on the NAServer object. It provides methods to perform network analysis in a stateless manner on a server.
This example illustrates connecting to a NAServer web service via a web reference and getting the names of the route layers.
// Assumes you've created a web reference to web service named "SanFrancisco"
SanFrancisco_NAServer pNAServer = new SanFrancisco_NAServer();
pNAServer.Url = "http://localhost/ArcGIS/Services/SanFrancisco/MapServer/NAServer";
// Use NAServer to get analysis layer names
string[] routeLayerNames = pNAServer.GetNALayerNames(esriNAServerLayerType.esriNAServerRouteLayer);
This example illustrates connecting to a NAServer within a map server object named "SanFrancisco" and getting the names of the route layers.
// Connect to ArcGIS Server and get the MapServer's ServerContext
IGISServerConnection pGISServerCon = new GISServerConnection(); pGISServerCon.Connect("localhost");
IServerObjectManager pSOM = pGISServerCon.ServerObjectManager;
IServerContext pServerContext = pSOM.CreateServerContext("SanFrancisco","MapServer");
// Get the NAServer server object extension
IServerObjectExtensionManager pSOEM = pServerContext.ServerObject as IServerObjectExtensionManager;
INAServer pNAServer = pSOEM.FindExtensionByName("NAServer") as INAServer;
// Use NAServer to get analysis layer names
string[] routeLayerNames = pNAServer.GetNALayerNames(esriNAServerLayerType.esriNAServerRouteLayer);
// Release the context since you're done with it
pServerContext.ReleaseContext();
This demonstrates how to connect to a NAServer object using the ADF web controls and getting the names of the route layers.
//Get the ServerContext from the WebControl and get the MapServer's ServerContext
ServerConnection conn = new ESRI.ArcGIS.Server.WebControls.ServerConnection("localhost",true);
IServerObjectManager pSOM = conn.ServerObjectManager;
IServerContext pServerContext = pSOM.CreateServerContext("SanFrancisco", "MapServer");\
// Get the NAServer server object extension
IServerObjectExtensionManager pSOEM =
pServerContext.ServerObject as IServerObjectExtensionManager;
INAServer pNAServer = pSOEM.FindExtensionByName("NAServer") as INAServer;
// Use NAServer to get analysis layer names
string[] routeLayerNames = pNAServer.GetNALayerNames(esriNAServerLayerType.esriNAServerRouteLayer);
// Release the context since you're done with it
pServerContext.ReleaseContext();