Engine调用gp服务如何获得JobID?

Engine调用gp服务如何获得JobID?
已邀请:

刘峥 - ArcGIS多面手

赞同来自:

【解决办法】:
 调用gp服务可以利用IGeoProcessorResult2.ResultID获得jobid,示例代码: 


public void SampleGeneratingGeoprocessingResults() 

// Initialize the geoprocessor. 
Geoprocessor GP = new Geoprocessor(); 
// Add the BestPath toolbox. 
GP.AddToolbox(@http://flame7/arcgis/services;GP/Bestpathtoolbox); 
// Input values are layers on the server. 
IVariantArray parameters = new VarArrayClass(); 
parameters.Add(@source); 
parameters.Add(@destination); 
// Execute the server tool. 
IGeoProcessorResult2 result; 
result = (IGeoProcessorResult2)GP.Execute(CalculateBestPath, parameters, null); 
// Check the job status. 
while (result.Status != esriJobStatus.esriJobSucceeded) 

Console.WriteLine(result.Status.ToString()); 
System.Threading.Thread.Sleep(100); 

// If the job succeeded, retrieve the feature result. 
if (result.Status == esriJobStatus.esriJobSucceeded) 

MessageBox.Show(result.ResultID.ToString()); 

// Print the resulting messages. 
for (int Count = 0; Count <= result.MessageCount - 1; Count++) 

Console.WriteLine(result.GetMessage(Count)); 

}

要回复问题请先登录注册