【问题标题】:SignalR JavaScript client connectSignalR JavaScript 客户端连接
【发布时间】:2016-09-02 08:58:17
【问题描述】:

我是 SignalR 的新手,我真的不知道。我需要连接到流并检索一些数据。我从所有者那里得到了一些帮助,但他们不知道如何使用 JavaScript 创建它。

他们给了我以下 C# 代码:

private static HubConnection _hubConnection;
private static IHubProxy _hubProxy;

_hubConnection = new HubConnection("https://sesignalr.esmartapi.com/realtime");
_hubProxy = _hubConnection.CreateHubProxy("timeseriesHub");
_hubProxy.On<ValueResult>("broadCastValue", RecieveServerStreamMessageObject);

_hubConnection.Start().Wait();

_hubProxy.Invoke("Subscribe", assetId).Wait();


private static void RecieveServerStreamMessageObject(ValueResult message)
{
    Console.WriteLine(message.ValueTime.ToShortDateString() + " " + message.ValueTime.ToLongTimeString() + " - Value: " + message.Value + " (id " + message.AssetId + ")");
}

public class ValueResult
{
    public string AssetId { get; set; }
    public int ValueCategory { get; set; }
    public DateTime ValueTime { get; set; }
    public Double Value { get; set; }
    public int ValueUnit { get; set; }
}

所以我尝试使用以下 JavaScript 代码进行连接:

var connection = $.hubConnection('https://sesignalr.esmartapi.com/realtime');
var proxy = connection.createHubProxy('timeseriesHub');

// receives broadcast messages from a hub function, called "broadcastMessage"
proxy.on('broadcastMessage', function(message) {
    console.log(message);
});

// attempt connection, and handle errors
connection.start({ jsonp: true })
.done(function(){ console.log('Now connected, connection ID=' + connection.id); })
.fail(function(){ console.log('Could not connect'); });

运行它会出现以下错误:

403(禁止:JSONP 已禁用。)

我想我应该用 JavaScript 重新创建上面的 C# 代码,但我的 C# 知识有限,我没有这方面的经验。我不知道该怎么做,感谢任何帮助。

【问题讨论】:

标签: javascript c# jquery signalr


【解决方案1】:

我认为您不能真正使用 javascript 连接到流,它更像是一个通知框架。您需要通知 javascript 客户端发生了一些变化,并通过进行另一个服务器调用或从您发送的通知中的数据进行更新。

顺便说一句,C# 代码很糟糕,它试图从异步通知框架中创建一个同步流。 Signalr 不会以这种方式正常工作。国际海事组织。

【讨论】:

    猜你喜欢
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 2021-12-05
    • 2012-04-05
    • 2012-04-22
    • 1970-01-01
    相关资源
    最近更新 更多