Silverlight中基于任务的数据服务

时间:2012-01-23 06:52:49

标签: silverlight wcf

我正在尝试使用await / async'模式'(使用SL5和VS11)编写一个silverlight应用程序,但我不能在服务配置中选择'生成基于任务的操作',这应该是可能的(然而)?在网络上找不到太多细节(特定于SL)......

2 个答案:

答案 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;
    }
}