首先需要进行数据库的创建,需要一张表(自定义类HistoryChat)来保存聊天记录信息,
其次,需要将聊天的记录增加到数据库对应记录中;最后需要对数据库中对应的用户和对应的聊天记录查询,设置查询条件约束(其中包含了对用户和聊天对象和聊天记录的绑定,如点击不同好友是显示的不同的历史信息)等等。
// 取值
var selfId = Convert.ToInt32(context.Request.QueryString["selfId"]);
var otherId = Convert.ToInt32(context.Request.QueryString["otherId"]);
var pageNumber = Convert.ToInt32(context.Request.QueryString["pageNumber"]);
var pageSize = Convert.ToInt32(context.Request.QueryString["pageSize"]);
// 读取列表
IFriendManager friendManager = new FriendManager();
List<Message> messages = friendManager.GetMessages(selfId, otherId, pageNumber, pageSize);
// 返回结果
string messageJson = JsonConvert.SerializeObject(messages, new UnixDateTimeConverter());
context.Response.ContentType = "application/json";
context.Response.Write(messageJson);
context.Response.End();
/// <summary>
/// (服务端)发送消息
/// </summary>
/// <param name="selfId">发送的用户Id</param>
/// <param name="otherId">要接收的用户Id</param>
/// <param name="content">消息内容</param>
/// <param name="timestamp">时间戳</param>
// (客户端)消费消息
Clients.User(otherId.ToString()).consumerMessage(selfId, content, timestamp);
// 存储消息
IFriendManager friendManager = new FriendManager();
friendManager.SendMessage(selfId, otherId, content);