我在sql DB中保存邮件时遇到问题。我正在使用这个项目 http://www.codeproject.com/Articles/732190/Real-Time-Web-Solution-for-Chat-by-MVC-SignalR-H?msg=5059882#xx5059882xx
单击发送按钮时,我将保存数据库中的每条消息。
在集线器类的服务器端,我有:
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 /用户名,我也不知道在哪里将其作为参数传递。如果我没有发明ID /用户名,我就无法检索这两个用户之间的消息历史记录。
我该如何解决这个问题?
答案 0 :(得分:0)
在您的代码中,您不是向接收者发送消息,而是向一组接收者发送消息!您可以保存组名称并在组用户之间重建消息历史记录。 (不是2个用户)