У меня проблемы с сохранением сообщений в sql DB. Я использую этот проект http://www.codeproject.com/Articles/732190/Real-Time-Web-Solution-for-Chat-by-MVC-SignalR-H?msg=5059882#xx5059882xxSignalR сохранение/получение сообщений из разговора
Я сохраняю каждое сообщение в БД при нажатии кнопки отправки.
На стороне сервера на классе хаб у меня есть:
public void SendMessageToGroup(string userName, string message, int UserID)
{
if (UsersList.Count != 0)
{
var strg = (from s in UsersList where (s.UserName == userName) select s).First();
MessageList.Add(new MessageInfo { UserName = userName, Message = message, UserGroup = strg.UserGroup, MsgDate = DateTime.Now.ToString() });
string strgroup = strg.UserGroup;
//string UserID = strg.UserID;
saveMessagetoDB(userName, message, DateTime.Now.ToString(), UserID);
// If you want to Broadcast message to all UsersList use below line
// Clients.All.getMessages(userName, message);
//If you want to establish peer to peer connection use below line so message will be send just for user and admin who are in same group
//***** Return to Client *****
Clients.Group(strgroup).getMessages(userName, message, DateTime.Now.ToString());
}
}
А на стороне клиента, у меня есть:
$('#btnSendMessage').click(function() {
var userName = $('#hUserName').val();
var UserID = $('#hUserId').val();
var msg = $("#txtMessage").val();
if (msg.length > 0) {
//// <<<<<-- ***** Return to Server [ SaveMessagetoDB ] *****
//objHub.server.saveMessagetoDB(userName, msg, msgDate);
// <<<<<-- ***** Return to Server [ SendMessageToGroup ] *****
objHub.server.sendMessageToGroup(userName, msg, UserID);
}
});
Моя проблема заключается в том, что я не спасая receiverID/имя пользователя, и я не знаю, где я должен передать его в качестве параметра. Withou that identiverID/username Я не могу получить историю сообщений между этими двумя пользователями.
Как я могу решить эту проблему?
В этом случае группа содержит только 2 пользователя. Моя проблема в том, что я не могу получить идентификатор получателя каждый раз, когда я отправляю сообщение –
в свой код, когда я отправляю сообщение конкретному пользователю , у меня должен быть свой идентификатор пользователя. Прежде чем отправить сообщение, если я отправлю сообщение группе пользователей, мне не нужно знать идентификаторы пользователей внутри этой группы. (точно так же, как whatsapp). в любом случае, если в этой группе есть только 2 пользователя, почему бы вам не сохранить идентификатор пользователя на сервере signalr при создании группы? –