我使用以下代码连接到asp.net核心signalR服务器。但我无法建立联系。有什么我做错了吗?
我收到了这个错误,
错误:“promise”选项必须是Promise
var hubUrl = "http://localhost:52273/logNotifierHub";
var connection = new signalR.HubConnection(hubUrl );
var hub = connection.invoke("LogNotifierHub");
var hubStart = connection.start({ jsonp: true });
connection.on("streamStarted", function () {
startStreaming();
});
var dataSource = new kendo.data.DataSource({
type: "signalr",
schema: {},
transport: {
signalr: {
promise: hubStart,
hub: hub,
server: {read: "read"},
client: {read: "read"}
}
}
});
$("#grid").kendoGrid({
dataSource: dataSource,
height: 850,
columns: [],
});
答案 0 :(得分:1)
SignalR promise对象的结构已更改,但您可以通过调整kendo插件来解决此问题。
<强> kendo.data.signalr.js 强>
//if (typeof promise.done != 'function' || typeof promise.fail != 'function')
if (typeof promise.then != 'function')
...
//this.promise.done(function () {
// hub.invoke.apply(hub, args).done(options.success).fail(options.error);
//});
this.promise.then(function() {
hub.invoke.apply(hub, args).then(options.success);
});
答案 1 :(得分:0)
ASP.NET Core使用全新的SignalR版本,它仍处于alpha阶段。也就是说,Kendo组件不支持它。