Silverlight中基于任务的数据服务

Silverlight中基于任务的数据服务,silverlight,wcf,Silverlight,Wcf,我正在尝试使用wait/async“模式”(使用SL5和VS11)编写silverlight应用程序,但我无法在服务配置中选择“生成基于任务的操作”,这是否可能(目前)?在web上找不到太多详细信息(特定于SL).我已经能够在Silverlight 5和Visual Studio 2010中手动创建基于任务的异步服务代理。 工作起来很有魅力。 我个人更喜欢手动编写我的合同和服务代理,但是如果你想使用生成服务引用,你可以看看。我认为Silverlight不支持它,但你可以自己做,也许一个可移植类库

我正在尝试使用wait/async“模式”(使用SL5和VS11)编写silverlight应用程序,但我无法在服务配置中选择“生成基于任务的操作”,这是否可能(目前)?在web上找不到太多详细信息(特定于SL).

我已经能够在Silverlight 5和Visual Studio 2010中手动创建基于任务的异步服务代理。
工作起来很有魅力。

我个人更喜欢手动编写我的合同和服务代理,但是如果你想使用生成服务引用,你可以看看。

我认为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;
    }
}
公共类MyCServiceProxy
{
公共静态任务GetMyCs()
{
var tcs=new TaskCompletionSource();
var client=new MyCServiceClient();
client.GetMyCsCompleted+=(s,e)=>{};
client.GetMyCsAsync();
返回tcs.Task;
}
}

这与引入VS11的等待/异步功能有什么关系?(或者异步CTP?)据我所知,您可以将异步/等待语法用于任何返回任务或任务的方法。我能够重新调整您的情况:服务引用设置对话框的整个“客户端”部分对于SL项目是禁用的。您可能想在VS11发布之前打开Microsoft Connect问题,以便将其提出来。谢谢Stephen,因此我不需要为此而将自己管理到精神病院:)我已为此添加了MS Connect问题,目前还没有任何活动: