如何设置 SignalR 的 BinaryType
How to set BinaryType of SignalR
我在 JavaScript 中建立我的 signalrR 连接,如下所示:
$.connection.hub.start().done(function () {
//do something
});
在使用 WebSockets 时,我可以像这样设置 BinaryType 属性:
var wsUri = "ws://localhost:8080/whiteboard/websocket";
var websocket = new WebSocket(wsUri);
websocket.binaryType = "blob";
或
websocket.binaryType = "arraybuffer";
我可以为 SignalR 设置此 属性 吗?如果可以,如何设置?
不,你不能,至少在最新的官方发布版本 (2.x) 之前是这样。 SignalR 是物理连接上的一组分层抽象,其中所有这些抽象必须使用不同的传输策略(WebSockets
只是其中之一),因此它们必须代表一个共同的特征子集。
与所需数据类型 transmission/serialization 相关的任何内容都由 SignalR 自动处理,但使用 PersistentConnection
时的某些部分除外,其中只能使用 string
。有一些 space 可以通过注入自定义实现来改变某些行为,但我认为这很难做到并且可能与 SignalR 的总体目标相冲突。
我在 JavaScript 中建立我的 signalrR 连接,如下所示:
$.connection.hub.start().done(function () {
//do something
});
在使用 WebSockets 时,我可以像这样设置 BinaryType 属性:
var wsUri = "ws://localhost:8080/whiteboard/websocket";
var websocket = new WebSocket(wsUri);
websocket.binaryType = "blob";
或
websocket.binaryType = "arraybuffer";
我可以为 SignalR 设置此 属性 吗?如果可以,如何设置?
不,你不能,至少在最新的官方发布版本 (2.x) 之前是这样。 SignalR 是物理连接上的一组分层抽象,其中所有这些抽象必须使用不同的传输策略(WebSockets
只是其中之一),因此它们必须代表一个共同的特征子集。
与所需数据类型 transmission/serialization 相关的任何内容都由 SignalR 自动处理,但使用 PersistentConnection
时的某些部分除外,其中只能使用 string
。有一些 space 可以通过注入自定义实现来改变某些行为,但我认为这很难做到并且可能与 SignalR 的总体目标相冲突。