2
我有一個託管WCF服務的Windows服務,該服務向多個客戶端廣播信息。我想優雅地處理來自客戶端的服務關閉,即檢測服務已經消失或想要關閉,彈出消息並關閉應用程序。目前,如果我關閉該服務,我會得到以下結果。在Windows服務中託管的WCF雙工會話中處理服務關閉
「ServiceHost的關閉操作00後超時:00:09.9910000這可能是因爲客戶端未能在規定的時間內關閉會話通道。」
問題:我如何檢測關閉,請求關閉客戶端?
客戶端,我得到的服務關閉後「插座異常視頻時現有的連接被強行關閉遠程主機」
這裏是接近代碼。
If Not (_LivePricingHost Is Nothing) Then
_LivePricingHost.Close()
_LivePricingHost = Nothing
End If
這裏是我用來設置雙面打印會話課,我已經刪除了樣板處理代碼,我集資最多客戶端的事件。
Imports System.ServiceModel
Public Class NotificationCallback
' Implements LivePricingService.IMessageCallback
Implements IDisposable
Private _ns As LivePricingService.MessageClient
Public Sub New()
Dim context = New InstanceContext(Me)
_ns = New LivePricingService.MessageClient(context)
_ns.SubscribeForBroadcast()
' _ns.AddMessage("PING")
End Sub
#End Region
末級