2016-07-29 36 views

回答

0

我們的測試也表明,ServerEventsClient做應用服務器重新啓動時自動重新連接,這裏有一個簡單的測試,我們使用:

var client = new ServerEventsClient("http://localhost:11001", "home") 
{ 
    OnConnect = ctx => "OnConnect: {0}".Print(ctx.Channel), 
    OnCommand = msg => "OnCommand: {0}".Print(msg.Data), 
    OnException = ex => "OnException: {0}".Print(ex.Message), 
    OnMessage = msg => "OnMessage: {0}".Print(msg.Data), 
    OnHeartbeat =() => "OnHeartbeat".Print() 
}; 

client.Handlers["chat"] = (source, msg) => 
{ 
    "Received Chat: {0}".Print(msg.Data); 
}; 

await client.Connect(); 

,並顯示了ServerEventClient自動重新連接日誌,當應用服務器它連接以重新啓動:

OnConnect: 
OnCommand: [email protected] {"userId":"-2","isAuthenticated":"false","displayName":"user2","channels":"home","profileUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/apps/no-profile64.png"} 
OnHeartbeat 
Received Chat: [email protected] {"id":1,"fromUserId":"-1","fromName":"user1","message":"1","private":false} 
OnMessage: [email protected] {"id":1,"fromUserId":"-1","fromName":"user1","message":"1","private":false} 
Received Chat: [email protected] {"id":2,"fromUserId":"-1","fromName":"user1","message":"2","private":false} 
OnMessage: [email protected] {"id":2,"fromUserId":"-1","fromName":"user1","message":"2","private":false} 
OnHeartbeat 
OnHeartbeat 
OnException: The remote server returned an error: (404) Not Found. 
OnConnect: 
OnCommand: [email protected] {"userId":"-3","isAuthenticated":"false","displayName":"user3","channels":"home","profileUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/apps/no-profile64.png"} 
Received Chat: [email protected] {"id":1,"fromUserId":"-2","fromName":"user2","message":"1","private":false} 
OnMessage: [email protected] {"id":1,"fromUserId":"-2","fromName":"user2","message":"1","private":false} 
Received Chat: [email protected] {"id":2,"fromUserId":"-2","fromName":"user2","message":"2","private":false} 
OnMessage: [email protected] {"id":2,"fromUserId":"-2","fromName":"user2","message":"2","private":false} 
OnHeartbeat 
OnHeartbeat 

如果您有代碼複製問題,請將其提交到ServiceStack's Issue Tracker