【发布时间】:2015-07-30 04:11:00
【问题描述】:
我在 sql DB 中保存消息时遇到问题。我正在使用这个项目 http://www.codeproject.com/Articles/732190/Real-Time-Web-Solution-for-Chat-by-MVC-SignalR-H?msg=5059882#xx5059882xx
单击发送按钮时,我将每条消息都保存在 DB 中。
在我拥有的集线器类的服务器端:
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 / 用户名,我不知道我必须将它作为参数传递到哪里。如果没有该 reveiverID/用户名,我将无法检索这两个用户之间的消息历史记录。
我该如何解决这个问题?
【问题讨论】:
标签: signalr