嗨,我有一個使用服務引用到Web服務的WPF應用程序...服務引用客戶端錯誤?
現在我有跟蹤的這個進步的GUI組件...
但我似乎有某種這只是在某些機器上發生的,而不是經常發生。 我開始使用MethodNameAsync進行調用,並顯示進度條,直到發生匹配的Completed事件。
有時我打電話連續3種不同的異步方法,但只有他們兩個人讓他們的Completed事件引發所以GUI將被鎖定,應用程序必須重新啓動。
被完全挫敗了幾個星期後,我發現事件AppDomain.CurrentDomain.FirstChanceException,所以我迷上了它,並開始記錄所有FirstChanceExceptions ..
第二個事件之前引發一個的System.Net.Sockets .SocketException「提供了一個無效參數」,之後引發一個System.ObjectDisposedException「無法訪問已處理的對象」。被拋出都是第一次機會異常..
我想我的WCF客戶端忘掉第三個方法調用,當發生這種情況,但我的加載指示燈不..
因此,這是一個已知的錯誤還是我失去了一些事情?根據要求
編輯代碼:
mCheckInService = New CheckInServiceClient()
AddHandler mCheckInService.GetPersonActivitiesCompleted, AddressOf CheckInService_GetPersonActivitiesCompleted
AddHandler mCheckInService.GetPersonArticlesCompleted, AddressOf CheckInService_GetPersonArticlesCompleted
AddHandler mCheckInService.GetPersonImageCompleted, AddressOf CheckInService_GetPersonImageCompleted
Dim workItem As WorkItem = Context.WorkDisplayService.AddWorkItem(Me, Resources.Label.DownloadingPersomImage)
mCheckInService.GetPersonImageAsync(Context.Session, person, workItem)
workItem = Context.WorkDisplayService.AddWorkItem(Me, "Hämtar aktiviteter")
mCheckInService.GetPersonActivitiesAsync(Context.Session, Person, workItem)
workItem = Context.WorkDisplayService.AddWorkItem(Me, Resources.Label.DownloadingPersonArticles)
mCheckInService.GetPersonArticlesAsync(Context.Session, person, workItem)
Private Sub CheckInService_GetPersonActivitiesCompleted(ByVal sender As Object, ByVal e As GetPersonActivitiesCompletedEventArgs)
Dim workItem As WorkItem = CType(e.UserState, WorkItem)
If (Context.WorkDisplayService.FinishWorkItem(Me, workItem)) Then
Private Sub CheckInService_GetPersonArticlesCompleted(ByVal sender As Object, ByVal e As GetPersonArticlesCompletedEventArgs)
Logger.Trace("CheckInService_GetPersonArticlesCompleted()")
Dim workItem As WorkItem = CType(e.UserState, WorkItem)
If (Context.WorkDisplayService.FinishWorkItem(Me, workItem)) Then
Private Sub CheckInService_GetPersonImageCompleted(ByVal sender As Object, ByVal e As GetPersonImageCompletedEventArgs)
Logger.Trace("CheckInService_GetPersonImageCompleted()")
Dim workItem As WorkItem = CType(e.UserState, WorkItem)
If (Context.WorkDisplayService.FinishWorkItem(Me, workItem)) Then
其GetPersonActivitiesAsync從未被完成..
編輯:
修復此暫時不使用異步方法,而是使用一個線程,將調用他們一個接一個。現在這不是一個完美的解決方案,我應該能夠使用異步方法...
顯示一些代碼plz,你怎麼crate代理,你如何調用方法等。 –