Caching Xamarin.forms中与Akavache的持续聊天信息

Caching Xamarin.forms中与Akavache的持续聊天信息,caching,xamarin.forms,signalr,signalr-hub,akavache,Caching,Xamarin.forms,Signalr,Signalr Hub,Akavache,我不熟悉Xamarin表单。我正在用Xamarin Forms和Signaler构建一个聊天应用程序,我想让聊天信息像WhatsApp一样持久化。我正在使用阿卡瓦什,但我似乎没有成功。我的ChatPage视图模型中有这个代码片段 if(ChatMessageList.Count != 0) { var _messages = BlobCache.LocalMachine.GetObject<ChatMessage>("Messages");

我不熟悉Xamarin表单。我正在用Xamarin Forms和Signaler构建一个聊天应用程序,我想让聊天信息像WhatsApp一样持久化。我正在使用阿卡瓦什,但我似乎没有成功。我的ChatPage视图模型中有这个代码片段

if(ChatMessageList.Count != 0)
    {
       var _messages = BlobCache.LocalMachine.GetObject<ChatMessage>("Messages");

       ChatMessage chatMessage = new ChatMessage() { Message = _messages.Subscribe(x => 
 chatmessage.Message = x.Message).ToString(), IsOwnMessage = isMe, IsSystemMessage = false, 
        ActionTime = _messages.Subscribe(x => chatmessage.ActionTime = x.ActionTime).ToString() };

        ChatMessageList.Add(chatMessage);

        MessagingCenter.Send(this, "SCROLL_BOTTOM");
      }
      else
      {
           ChatMessage chatMessage = new ChatMessage() { Message = message, IsOwnMessage = isMe, 
           IsSystemMessage = false, ActionTime = DateTime.Now.ToString("hh:mm tt") };

                ChatMessageList.Add(chatmessage);                    

           BlobCache.LocalMachine.InsertObject<ChatMessage>("Messages", chatMessage);
        }
if(ChatMessageList.Count!=0)
{
var_messages=BlobCache.LocalMachine.GetObject(“messages”);
ChatMessage ChatMessage=newchatmessage(){Message=\u messages.Subscribe(x=>
chatmessage.Message=x.Message).ToString(),IsOwnMessage=isMe,IsSystemMessage=false,
ActionTime=\u messages.Subscribe(x=>chatmessage.ActionTime=x.ActionTime).ToString()};
添加(chatMessage);
发送(这是“滚动底部”);
}
其他的
{
ChatMessage ChatMessage=new ChatMessage(){Message=Message,IsOwnMessage=isMe,
IsSystemMessage=false,ActionTime=DateTime.Now.ToString(“hh:mm tt”)};
添加(chatmessage);
BlobCache.LocalMachine.InsertObject(“Messages”,chatMessage);
}

现在聊天信息以系统代码显示。请告诉我,我能做些什么吗?

“我似乎没有成功”不是对问题的有用描述。您是否收到错误或异常?它具体在做什么或不做什么?它不是坚持。如果您从聊天页面切换到另一个页面并切换回另一个页面,则所有消息都将丢失您对所有数据使用相同的键“messages”,因此每次添加新数据时,旧数据都将被覆盖