我是SignalR的新手,有一个小细节,我无法理解。
我的SignalR集线器包含许多频道,客户端可以通过服务器方法加入其中一个或多个频道:
joinChannel(string channelName)
我不明白这个方法应该返回什么。
如果是普通的“RPC”方法,我会通过IHttpActionResult
返回状态(200 - Ok,404 - Not found,403 - Forbidden等)。
如何指示SignalR的成功/失败?
是什么决定了回复是否到达客户端中的.done
或.fail
?
更新
目前,我的方法在出错时返回非零值。
int joinChannel(string channelName) {
...
return errorCode;
}
这可行,但它会在客户端中创建不必要的复杂代码
hubProxy.server.joinChannel('channel1')
.done(function (result) {
if (result != 0) {
// error handling
}
})
.fail(function (error) {
// error handling
});