我正在尝试使用await / async'模式'(使用SL5和VS11)编写一个silverlight应用程序,但我不能在服务配置中选择'生成基于任务的操作',这应该是可能的(然而)?在网络上找不到太多细节(特定于SL)......
答案 0 :(得分:0)
我已经能够在Silverlight 5和Visual Studio 2010中手动创建基于任务的异步服务代理 像魅力一样工作 我个人更喜欢手动编写合同和服务代理,但如果您想使用生成服务参考,可以查看this post - WCF + Tasks。
答案 1 :(得分:0)
我认为Silverlight不支持它,但你可以自己做,也许一个便携式类库可能是另一种解决方法。
public class MyCServiceProxy
{
public static Task<ObservableCollection<MyC>> GetMyCs()
{
var tcs = new TaskCompletionSource<ObservableCollection<MyC>>();
var client = new MyCServiceClient();
client.GetMyCsCompleted += (s,e) => {};
client.GetMyCsAsync();
return tcs.Task;
}
}