【发布时间】:2016-06-30 07:41:11
【问题描述】:
我已经在我的 .NET 应用程序中实现了 wcf 客户端。我的问题是如何确保在 Task> 完成后调用 if 条件?
private List<MarketingCampaign> _GetAllCampaignTypeList()
{
List<MarketingCampaign> _MarketingCampaignList = null;
Task<List<MarketingCampaignTypeData>> _MarketingCampaignTypeDataList = _MarketingCampaignTypeClientObject.GetAllCampaignTypes();
??? // how can I use continue with or Task.wait all in following if condition
if(_MarketingCampaignTypeDataList!=null)
{
// code
}
return _MarketingCampaignList;
}
上面的代码调用了下面的类
public async Task<List<App.Client.Proxies.MarketingCampaignTypeServiceRef.MarketingCampaignTypeData>> GetAllCampaignTypes()
{
var task = Task<List<App.Client.Proxies.MarketingCampaignTypeServiceRef.MarketingCampaignTypeData>>.Factory.StartNew(() => {
return _MarketingCampaignTypeClient.GetAllCampaignTypes();
});
return await task.ConfigureAwait(false);
}
【问题讨论】:
-
你试过
await _MarketingCampaignTypeDataList吗? -
使用 .ContinueWith 并将您的支票“if(_MarketingCampaignTypeDataList!=null)”放入 .ContinueWith
-
我是这个线程编程的新手,所以我不确定下一步该怎么做
-
我确实在调用类中等待,但不是我从哪里调用
-
为什么要检查任务是否为空?它不能为空,因为您在当前范围内创建了它
标签: c# wcf asynchronous async-await