Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SignalR 2.2.2 Asp.Net 4.5 Web应用程序-无权访问集线器类中的响应对象_Asp.net_Signalr_Httpresponse - Fatal编程技术网

SignalR 2.2.2 Asp.Net 4.5 Web应用程序-无权访问集线器类中的响应对象

SignalR 2.2.2 Asp.Net 4.5 Web应用程序-无权访问集线器类中的响应对象,asp.net,signalr,httpresponse,Asp.net,Signalr,Httpresponse,我正在使用Signalr2.2.2ASP.NET4.5Web应用程序。我想访问客户端调用方的当前http响应对象,但不知道如何访问。如何引用响应对象?我尝试了Context.Request.GetHttpContext.Response,但它出错,说它在当前上下文中不存在。有人能帮我指出正确的方向吗。出于几个原因,Signal不允许用户直接写入HttpResponse流,即使您找到了这样做的方法,这也不是一个好主意: 当使用WebSockets时,transport Signal使用WebSoc

我正在使用Signalr2.2.2ASP.NET4.5Web应用程序。我想访问客户端调用方的当前http响应对象,但不知道如何访问。如何引用响应对象?我尝试了Context.Request.GetHttpContext.Response,但它出错,说它在当前上下文中不存在。有人能帮我指出正确的方向吗。

出于几个原因,Signal不允许用户直接写入HttpResponse流,即使您找到了这样做的方法,这也不是一个好主意:

当使用WebSockets时,transport Signal使用WebSockets发送消息,因此无法写入HttpResponse SignalR使用自己的基于JSON的协议。如果您直接编写任何内容,很可能会创建无效的SignalR消息,而客户端将无法处理这些消息
如果您想通过SignalR发送PDF,则需要能够将其保存到一个流(例如MemoryStream),并使用从该流创建的数组调用客户端。请注意,您使用的SignalR版本使用的是基于JSON的协议,因此发送二进制数据的效率非常低-最好使用SignalR让客户端知道他们可以下载PDF,然后客户端将使用HTTP GET request下载它。您试图实现什么?我正在尝试访问httpresponse对象来自Signal的hub类。我尝试从上下文对象获取它,但它似乎为空。你能帮忙吗?我正在尝试访问我已经尝试从上下文对象获取它,但它似乎是空的。s signal的hub类中的httpresponse对象。我还使用select.html2pdf程序集将当前html转换为pdf。使用select.htmltopdf库需要访问响应对象。您能帮忙吗?如果您使用的是websockets,则没有HttpResponse。其他传输也不会向您提供HttpResponse,因为您会通过写入来破坏协议。如果库直接写入HTTP响应,我认为signar不是适合您的工具。如果您想通过SignalR发送PDF,则需要能够将其保存到一个流(例如MemoryStream),并使用从该流创建的数组调用客户端。请注意,您正在使用的signer版本使用的是基于JSON的协议,因此发送二进制数据将非常低效。理解。我会照你的建议去做的。