Я использую signalR для приватного сообщения чата и в этом, я звоню - PullRequest
0 голосов
/ 20 сентября 2018

Clients.Caller.receiver (re)

ответ проходит успешно, но внезапно в зацеплении я получаю сообщение об ошибке «Использование экземпляра концентратора, не созданного HubPipeline, не поддерживается».Теперь я не могу понять, где ссылка отсутствует.Пожалуйста, помогите мне решить эту проблему.

Я использую код ниже.

public async Task GetAllMessages(int roomid, int fromuserId, int touserId, int index, int pageSize, int broadcastid = 0)
            {
                ResponseModel re = new ResponseModel();
                try
                {
                    var model = new MessageDetailModel
                    {
                        Index = index,
                        PageSize = pageSize,
                        FromUserId = fromuserId,
                        ToUserId = touserId,
                        ChatRoomId = roomid,
                        BroadCastId = broadcastid
                    };
                    MesaageModel totalmessages = new MesaageModel();
                    List<RecentMessage> messages = new List<RecentMessage>();
                    var usermessages = await _userService.GetAllMessages(model);
                    messages.AddRange(usermessages);
                    foreach (var message in messages)
                    {
                        model.BroadCastMessageId = model.BroadCastId == 0 ? 0 : message.BroadCastMessageId;
                        model.ChatRoomMessageId = model.BroadCastId == 0 ? message.ChatRoomMessageId : 0;
                        List<UserDetail> userofseenby = new List<UserDetail>();
                        var users = await _userService.GetMessageSeenBy(model);
                        userofseenby.AddRange(users);
                        message.SeenBy = userofseenby;
                    }

                    // Bhavesh Change
                    totalmessages.Messages = messages;
                    // totalmessages.Messages.AddRange(messages);

                    totalmessages.UnseenMessageCount = await _userService.GetUnSeenCount(messages.FirstOrDefault().ChatRoomId, fromuserId);
                    if (messages.FirstOrDefault().IsBroadCast == true)
                        totalmessages.Users = (List<UserDetail>)await _userService.GetUsersByBroadCastId(messages.FirstOrDefault().BroadCastId);
                    else if (messages.FirstOrDefault().IsGroup == true)
                        totalmessages.Users = (List<UserDetail>)await _userService.GetUsersByChatRoomId((int)messages.FirstOrDefault().ChatRoomId);
                    re.MsgCode = 0; re.MsgText = "Success"; re.MsgType = MessageType.Success;
                    re.ActionCommand = "onAllMessagesReceived";
                    re.SingleObject = totalmessages;
                    Clients.Caller.receiver(re);
                }
                catch (Exception ex)
                {
                    re.ActionCommand = "onAllMessagesReceived";
                    re = ResponseHelper.ErrorResponse(re.ActionCommand, ex.ToString());
                    Clients.Caller.receiver(re);
                }
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...