我正在开发一个包含这些场景的通用方法的类库:
上面的这两个功能已经实现,现在我的应用程序需要保存消息.
我的问题是,在SQL数据库中存储聊天对话的最佳方法是什么:
每次我点击发送,我都会在数据库中插入消息?
为每个用户创建一个列表,每次单击"发送"时,该消息都会保存在发送该消息的用户列表中.然后,如果用户断开连接,我将迭代消息列表,并为每个消息插入数据库中的所有消息.
还有其他解决方案吗?
我现在正在做的是以下内容.我有这个方法,它位于我的Hub类:
public void saveMessagetoDB(string userName, string message)
{
var ctx = new TestEntities1();
var msg = new tbl_Conversation {Msg = message};
ctx.tbl_Conversation.Add(msg);
ctx.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
我saveMessagetoDB在客户端HTML文件中调用此方法,如下所示:
$('#btnSendMessage').click(function () {
var msg = $("#txtMessage").val();
if (msg.length > 0) {
var userName = $('#hUserName').val();
// <<<<<-- ***** Return to Server [ SaveMessagetoDB ] *****
objHub.server.saveMessagetoDB(userName, msg);
Run Code Online (Sandbox Code Playgroud)