使用SignalR时React的问题

时间:2017-10-03 01:05:56

标签: javascript reactjs logging signalr react-big-calendar

我使用SignalR实现了以下代码:

启动:

[assembly: OwinStartupAttribute("StartupConfiguration", typeof(AGENDA.Startup))]
    namespace AGENDA
    {
        public class Startup
        {
            public void Configuration(IAppBuilder app)
            {
                var hubConfiguration = new HubConfiguration();
                hubConfiguration.EnableDetailedErrors = true;
                hubConfiguration.EnableJavaScriptProxies = true;

                app.MapSignalR();
            }
        }
    }

服务器: 这是我创建捕获服务器的各种方法的地方,并且可以毫无问题地接收信息,但是当我从客户端发送信息时,它会变空。

public class MensajesHub : Hub
    {
        private EventModel _model;
        private bool _modelUpdated = false;
        public void UpdateModel(EventModel clientModel)
        {
            clientModel.LastUpdatedBy = Context.ConnectionId;
            Clients.AllExcept(clientModel.LastUpdatedBy).UpdateMensaje(clientModel);
            UpdateMensaje(clientModel);
        }

        public void UpdateMensaje(EventModel clientModel)
        {
            _model = clientModel;
            _modelUpdated = true;
        }

        [HubMethodName("EnviarMensajes")]
        public static void EnviarMensajes()
        {
            IHubContext context = GlobalHost.ConnectionManager.GetHubContext<MensajesHub>();
            context.Clients.All.updateMessages();
        }
    }

这是我创建捕获服务器的各种方法的地方,可以毫无问题地接收信息,但是当我从客户端发送信息时,它会变空。

public class EventModel
    {
        [JsonProperty("id_cita")]
        public long Id_Cita { get; set; }

        [JsonProperty("descripcion_cita")]
        public string Descripcion_Cita { get; set; }

        [JsonProperty("start")]
        public DateTime Start { get; set; }

        [JsonProperty("end")]
        public DateTime End { get; set; }

        [JsonProperty("id_recurso")]
        public long Id_Recurso { get; set; }

        [JsonProperty("recurso_nombre")]
        public string Recurso_Nombre { get; set; }

        [JsonProperty("categoria")]
        public int Categoria { get; set; }

        [JsonIgnore]
        public string LastUpdatedBy { get; set; }
    }

客户端:
我以这种方式与SignalR建立连接,这是成功的。

//SignalR Code
 let mensajes = $.hubConnection();
 //let mensajes = connection;
 console.log(mensajes);
 conexion = this.props.mensajes;
 console.log(conexion);
 conexion.start()
 .done(function (model) {
 conexion.logging = true;
 console.log(conexion);
 console.log('Now connected, connection ID=' + conexion.id);
 updateServerModel();
 })
 .fail(function () {
 conexion.hub.logging = false;
 console.log(conexion);
 console.log('Could not connect');
 });

这是我遇到冲突的地方,首先,它给我带来了服务器的方法,但我不能让客户端传递给服务器。

function updateServerModel() {
console.log(conexion);
conexion.server.updateMensaje();
console.log(conexion);
conexion.server.updateModel();
console.log(conexion);
console.log(conexion.server);
console.log(conexion);
}
console.log(conexion);
//-------------------------------------

但是说服务器的行,从来没有达到过任何东西,因为它说它们不是函数

任何想法都可能发生这种情况...... ???任何人都可以帮我这个...... ??? 谢谢,现在...... !!!!

0 个答案:

没有答案