2013-02-15 4 views
0

Я хотел бы обработать обратный вызов тайм-аута при вызове концентратора, чтобы гарантировать, что сервер получил мое «сообщение», как я могу это сделать?Как получить обратный вызов тайм-аута для клиента-концентратора signalr?

Я смотрел на сигнальную вики, искал ее, но ничего не нашел!

Это было так, как я думал, что интерфейс будет:

var hubcon = new HubConnection("myurl", useDefaultUrl: false); 
    IHubProxy chatHub = hubcon.CreateHubProxy("chatHub"); 
    chatHub.On("timeout", data => 
       { 
        //do something 
       }); 

    hubcon.Start().Wait(1000); 

    chatHub.Invoke("EnviarMensagem", new { nome = nome, mensagem = mensagem }).Wait(); 

    hubcon.Stop(); 

ответ

1

Поскольку вы вызываете Wait в любом случае, вы можете установить тайм-аут и посмотреть на возвращаемом значении, чтобы увидеть, если сервер завершил обработку вызова:

if (!chatHub.Invoke("EnviarMensagem", ...).Wait(10000)) 
    { 
     // The server did not respond to the invocation within 10 seconds 
    } 

http://msdn.microsoft.com/en-us/library/dd270644.aspx

 Смежные вопросы

  • Нет связанных вопросов^_^