微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将数据从ReactJs发送到signalR?在Asp.net Mvc Web Api中

如何解决如何将数据从ReactJs发送到signalR?在Asp.net Mvc Web Api中

当我想将数据从React Component发送到集线器时出现问题我没有发送... 注意集线器已连接到客户端,但数据未发送/接收

集线器代码

public void SendMessagetoAll(string userName,string message)
        {
             Clients.All.messageReceived(userName,message );

        }

反应Js代码

import React,{ Component } from 'react';
import { Link } from 'react-router-dom';
import { hubConnection } from 'signalr-no-jquery';


class Dashboard extends Component {
   constructor(props) {    
   super(props);
   const connection = hubConnection('https://localhost:44332');
   const hubProxy = connection.createHubProxy('Chat');

   hubProxy.on('Hello',function(name) {
    console.log(name);
});
    // atempt connection,and handle errors
    connection.start()

    .done(function(){ console.log('Now connected,connection ID=' + connection.id); })
    .fail(function(){ console.log('Could not connect'); });
}


  render() {
    return (
        <div/>
    );
  }
}

export default Dashboard;

解决方法

通常,使用SignalR时,我们将创建ChatHub.cs,其中包含send / receive方法。在客户端,我们将声明一个代理以引用集线器并连接集线器,然后,我们可以调用集线器的send / receive方法来传输消息。但是从您的代码中,我找不到您在哪里调用“ SendMessageToAll()”方法,因此该消息将不会发送。请检查您的代码。

这里有一些有关使用SignalR的教程,您可以检查它们:

Chat Application Using ASP.NET,ReactJS,Web API,SignalR and Gulp

Tutorial: Real-time chat with SignalR 2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。