C# ArcGis查询任务从不返回结果

C# ArcGis查询任务从不返回结果,c#,asynchronous,arcgis,esri,C#,Asynchronous,Arcgis,Esri,我不确定我的代码中的异步处理或使用ArcGis桌面是否有问题。我想查询一个我创建的要素层,看看是否有设施位于要素层的多边形内。我为查询编写了以下代码: var query = new Query(new Envelope(-180, 0, 0, 90), SpatialRelationship.Within) { Geometry = new MapPoint((double) facility.Latitude, (double) fac

我不确定我的代码中的异步处理或使用ArcGis桌面是否有问题。我想查询一个我创建的要素层,看看是否有设施位于要素层的多边形内。我为查询编写了以下代码:

        var query = new Query(new Envelope(-180, 0, 0, 90), SpatialRelationship.Within)
        {
            Geometry = new MapPoint((double) facility.Latitude, (double) facility.Longitude)
        };
        query.OutFields.Add("*");
        QueryTask queryTask = new QueryTask(new Uri("http://services3.arcgis.com/eJFBr5VfFl7nBQt4/arcgis/rest/services/Zone_Features/FeatureServer/0"));
        var result = queryTask.ExecuteAsync(query).Result;

当我运行代码时,代码从未超过
var result
行。我已经等了几分钟,但它还在那里,等待结果。我遗漏了什么吗?

如果您使用的是.NET的ArcGIS运行时SDK,那么您必须等待ExecuteAsync,比如QueryResult QueryResult=Wait queryTask.ExecuteAsync(查询);它们是否在10.2中切换到异步模型?

这已经很长时间了,但您确定
ExecuteAsync()
返回了一些内容?我认为您需要在任务上设置一个
ExecuteCompleted
处理程序。他们以前的一些文档指出使用了ExecuteCompleted处理程序,但10.2版本不包含任何事件处理程序,只是不同的ExecuteAsync方法。可能是典型的ASP.NET任务死锁。如果您使用的是.NET的ArcGIS运行时SDK,则必须等待ExecuteAsync,如QueryResult QueryResult=Wait queryTask.ExecuteAsync(查询);他们是否在10.2中切换到异步模型?这就解决了问题。想把它作为答案贴出来,这样我就可以接受了?