在SignalR的客户端设置状态变量
Setting state variables on the client side in SignalR
我正在使用javascript库连接到托管在控制台应用程序中的signalR服务器。
因此,我连接和设置客户端方法,可以从服务器调用,像这样:
var connection = $.hubConnection('http://localhost:8080'),
proxy = connection.createHubProxy('TestApp');
proxy.on('sendMessage', function () {
// do stuff!
});
,这里有详细描述。
然而,以这种方式使用客户端javascript的文档并没有解释如何往返信息(在客户端设置'state'变量并使其从服务器访问)。
这可能很明显,但任何帮助将非常感激!
还有一件事我觉得与之密切相关,我很好奇。我知道客户端代码可以像这样在服务器上调用函数后获得返回值/回调(从上面链接的文档)
proxy.invoke('add', 1, 2)
.done(function(result) {
console.log('The result is ' + result);
});
但是当客户端完成任务时,服务器是否可能从客户端获得回调?(显然,只需让客户端触发一个预定义的事件就可以解决这个问题,但如果可能的话,处理所有回调而不必设置另一个事件会更好。)
谢谢! !
1)设置状态就像这样简单:
proxy.state.foo = 1337;
当然你可以通过
在服务器上获取这个int myFoo = Clients.Caller.foo;
2) 不,当客户端函数完成执行时,服务器上无法通知您。如果你想知道客户端函数什么时候完成,你可以自己回调到服务器端。
例如:proxy.on('foo', function(){
console.log("Foo executed");
proxy.invoke("fooDone");
});
然后你需要在服务器上创建一个"fooDone"函数来处理回调。
希望这对你有帮助!
相关文章:
- 在Knockoutjs中的ViewModels之间共享变量状态
- 将变量传递到php页面,作为Angular中的状态
- 在aspx页面c#之间传递/引用/发送变量/会话状态
- 作用域变量未从状态父控制器继承到子控制器
- 是否可以在reactjs中设置多个状态变量
- 在异步函数中维护变量的状态
- AngularJS UI-if 状态变量设置值异步
- 将 html 附加到具有三元条件的 ReactJS 中的状态变量
- 聚合物中的私有状态变量
- 如何对 Flux 存储中的状态变量强制执行隐私
- React/Rect Native无法将JSON数据分配给状态变量
- 在MVC中存储全局状态变量的位置以及如何传递它
- 在Googlemaps API Geocoder中改变JS状态变量不工作
- 我是如何失败的更新状态变量在ReactJS
- 将不断变化的属性值设置为子状态变量
- 在javascript中获取Yii用户状态变量
- 在SignalR的客户端设置状态变量
- 覆盖XMLHttpRequest状态变量
- ReactJs在状态变量改变时重定向
- 当试图作为道具传递时,React状态变量意外未定义