在完成对WCF服务的异步调用之后,我希望将成功消息设置为会话并向用户显示通知。ASP.NET MVC异步调用WCF服务
我试过用两种方法来完成这个操作。
1)基于事件的模型。
client.GetDataCompleted += new EventHandler<GetDataCompletedEventArgs>(GetDataCompleted);
client.GetDataAsync(id, client);
private void GetDataCompleted(object obj, GetDataCompletedEventArgs e)
{
this.SetNotification(new Notification() { Message = e.Result, Type = NotificationType.Success });
}
在MyOperationCompleted事件中,我可以设置通知HttpContext.Current.Session,但我必须等待前将完成该操作并不能导航到其他页面。
2)IAsyncResult模型。 通过这种方式,我可以导航到其他页面并对wcf服务进行异步调用,但在GetDataCallback方法中无法设置通知,因此会话= null。
client.BeginGetData(id, GetDataCallback, client); private void GetDataCallback(IAsyncResult ar) { string name = ((ServiceReference1.Service1Client)ar.AsyncState).EndGetData(ar); this.SetNotification(new Notification() { Message = name, Type = NotificationType.Success }); }
启用服务引用中的“生成异步操作”。
请帮我解决这个问题。谢谢。
TNX,我们会尽力。 – 2010-12-02 14:19:14