C# 信号器:生成的代理与动态创建的中心文件

C# 信号器:生成的代理与动态创建的中心文件,c#,asp.net,proxy,signalr,C#,Asp.net,Proxy,Signalr,信号集线器代理生成器的输出是否与动态生成的集线器代理文件基本相同?如果没有,区别是什么 关于我的问题的一些背景:由于执行过程中的依赖性问题,我正在努力使用命令行工具创建集线器代理,我确实认为获取动态生成的文件可能是一种更简单的方法。正如关于使用带信号器的集线器所述: 生成的代理及其作用 您可以编程JavaScript客户端与信号器通信 有或没有信号器为您生成的代理的服务。什么 代理为您做的是简化用于 连接、编写服务器调用的方法以及在 服务器 编写调用服务器方法的代码时,生成的代理 使您能够使用看

信号集线器代理生成器的输出是否与动态生成的集线器代理文件基本相同?如果没有,区别是什么

关于我的问题的一些背景:由于执行过程中的依赖性问题,我正在努力使用命令行工具创建集线器代理,我确实认为获取动态生成的文件可能是一种更简单的方法。

正如关于使用带信号器的集线器所述:

生成的代理及其作用

您可以编程JavaScript客户端与信号器通信 有或没有信号器为您生成的代理的服务。什么 代理为您做的是简化用于 连接、编写服务器调用的方法以及在 服务器

编写调用服务器方法的代码时,生成的代理 使您能够使用看起来像是在执行 本地函数:您可以编写serverMethod(arg1、arg2)而不是 调用('serverMethod',arg1,arg2)。生成的代理语法 如果输入错误,将启用即时且可理解的客户端错误 服务器方法名称。如果您手动创建定义 对于代理,您还可以获得编写代码的IntelliSense支持 它调用服务器方法

长话短说:

如果您输入错误的信号集线器或方法名称,这将使您的实际JS错误更容易处理

使用代理:

var contosochatchubproxy=$.connection.contosochatchub;
contosocachutubproxy.client.addContosoChatMessageToPage=函数(名称,消息){
控制台日志(名称+“”+消息);
};
没有代理:

var connection=$.hubConnection();
var contosoChatHubProxy=connection.createhubbroxy('contosoChatHub');
contosocachutubproxy.on('addContosoChatMessageToPage',函数(名称,消息){
控制台日志(名称+“”+消息);
});

如果您需要生成代理文件一次,而不是在运行时生成代理文件,您可以遵循此操作,这允许您事先生成代理文件(用于缓存或捆绑行为)。

在参考资料中有一节称为“如何为SignalR生成的代理创建物理文件”。我的问题正是针对这个过程的物理输出(例如,我可以在我的硬盘上物理访问的生成的JavaScript文件):这与通过
获得的动态生成的运行时JavaScript文件相同吗?是的,完全相同;更新了我的答案以反映问题需要。这不适用于AspNetCore网站。SignalR.exe无法像本文中那样从exe/DLL生成代理。此问题与针对完整.Net framework运行的SignalR有关。信号机核心状态不再自动生成集线器代理