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