Angular 14对接.NET Framework 4.7 SignalR报错,求适配客户端包
解决方案
你遇到的错误是因为**@microsoft/signalR是ASP.NET Core SignalR的专属客户端包**,而你的后端是基于.NET Framework 4.7的传统ASP.NET SignalR,二者架构不兼容,因此无法建立连接。
正确的客户端包是官方的ASP.NET SignalR JavaScript客户端,包名为signalR,安装命令如下:
npm install signalR
在Angular 14项目中使用时,需要完成以下配置:
- 传统ASP.NET SignalR依赖jQuery,需先安装jQuery包:
npm install jquery - 在
angular.json的scripts数组中依次引入jQuery和SignalR的脚本文件:"scripts": [ "./node_modules/jquery/dist/jquery.min.js", "./node_modules/signalR/jquery.signalR.min.js" ]
完成配置后,即可按照传统SignalR的方式创建连接,示例代码如下:
// 声明jQuery全局变量 declare var $: any; // 初始化连接 const connection = $.hubConnection('你的后端SignalR服务地址'); const hubProxy = connection.createHubProxy('你的Hub类名称'); // 监听服务器推送的消息 hubProxy.on('服务器推送的方法名', (data) => { console.log('收到服务器消息:', data); }); // 启动连接 connection.start() .done(() => console.log('SignalR连接成功')) .fail(error => console.error('SignalR连接失败:', error));
内容的提问来源于stack exchange,提问作者Nida Akram
相关产品推荐
相关产品推荐

