【发布时间】:2017-08-20 16:22:37
【问题描述】:
我已经在谷歌上搜索过,但没有找到任何解决方案。
我的hub的方法是这样的
public string Test(string hello)
{
return hello;
}
public override System.Threading.Tasks.Task OnConnected()
{
return base.OnConnected();
}
我的客户端是
var objHub = $.connection.myHub;
$.connection.hub.start().done(function () {
objHub.server.test('test');
}).fail(function () {
/.....
})
OnConnected 正在完美调用,但 objHub.server.test 没有调用。
即使我已经在控制台中检查了映射到集线器对象的服务器端方法,这里所有的服务器方法都注册到集线器对象
为什么我的服务器端方法没有调用?
更新
现在我看到了什么
服务器正在请求
http://localhost:83/signalr/connect?transport=longPolling&clientProtocol=1.5&connectionToken=MUM0NzA5MDI3QTEyRjM5RDM4QjEzNDhGRTFEMjJGNzI3QTcyQTRDM0ZDOTE3MTRCRUYwQkVCOUI3OEQ3Q0MxREY1NzNEQkUzQjAxM0QzMzlCRDIzQUY0OUJDNThENDVCMDUzQ0RENEMwQTUzNkNFMzEyNDY2QTkyMjExRkE4REVDMUZGRUE2RTdFNTNDRkM2NDg5NjEzMUIyMzQzNDI4Njk3RjRBNTdEMDlEQ0U1MUJGQ0I4RjE4Njg3NjU5NTBFRURGQTZCNzBGMzUwRjA0MzdFOERENkQ1NTFEQ0JCNEJDN0U3NDUyNA%3D%3D&connectionData=%5B%5D
得到这个错误
Method not found: System.Threading.Tasks.Task 1<Microsoft.Owin.IFormCollection> Microsoft.Owin.OwinRequest.ReadFormAsync()
谢谢
【问题讨论】:
-
尝试添加类似
setTimeout(function () { $.connection.hub.start().done... }, 5000);的超时 -
已经试过了
-
执行进入事件是否失败?
-
现在我看到这个错误,而信号器连接请求
Method not found: System.Threading.Tasks.Task1<Microsoft.Owin.IFormCollection> Microsoft.Owin.OwinRequest.ReadFormAsync() -
你更新包了吗?显然您使用的版本不包含此方法。
Microsoft.Owin在项目引用中吗?如果是,请尝试删除并重新添加。
标签: javascript signalr signalr-hub