在完成對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