我正在使用SignalR 2.2.2 Asp.Net 4.5 Web应用程序。我想访问客户端调用程序的当前http响应对象,但不知道如何。如何引用响应对象?我已经尝试了Context.Request.GetHttpContext()。响应但它错误地说“它在当前上下文中不存在”。有人可以帮助并指出我正确的方向。
答案 0 :(得分:1)
由于几个原因,SignalR不允许用户直接写入HttpResponse Stream,即使你找到了这样做的方法,也不是一个好主意:
如果您想通过SignalR发送PDF,您需要能够将其保存到流(例如MemoryStream
)并使用从此流创建的阵列调用客户端。 (请注意,您正在使用的SignalR版本使用基于JSON的协议,因此发送二进制数据效率非常低 - 使用SignalR让客户端知道他们可以下载PDF然后客户端会下载它可能会更好使用例如HTTP GET请求)