使用 BlobCache.LocalMachine.GetObject<objectl>("Key") 中的数据;

Use data inside BlobCache.LocalMachine.GetObject<objectl>("Key");

我正在使用 xamarin.forms。我正在尝试在缓存中插入数据。

var getData = JsonConvert.DeserializeObject<UserViewModel>(Respone);
await BlobCache.LocalMachine.InsertObject("RsponseData",getData);

然后我尝试获取缓存数据。

var data = BlobCache.LocalMachine.GetObject<UserViewModel>("RsponseData");

如何使用数据,以便我可以做:

data.UserName
data.password

当您尝试获取缓存数据时,请不要忘记使用 await。因为您应该等待插入对象完成。

var data =await BlobCache.LocalMachine.GetObject<UserViewModel>("RsponseData");

试试下面的代码:

using System.Reactive.Linq;

namespace AkavacheTest
{
    [Activity(Label = "AkavacheTest", MainLauncher = true, Icon = "@drawable/icon")]
    public class MainActivity : Activity
    {
        protected override async void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            BlobCache.ApplicationName = "AkavacheText";
            string json = @"{ 'Username': 'Mike','Password': 'Ma'}"; 
            SetContentView(Resource.Layout.Main);
            var getData = JsonConvert.DeserializeObject<User>(json);
            await BlobCache.LocalMachine.InsertObject("MikeMa", getData);
            var myuser = await BlobCache.LocalMachine.GetObject<User>("MikeMa");
            System.Console.WriteLine(myuser.Username+"---"+myuser.Password);
        }
     }
    public class User
    {
      public  string Username { get; set; }
      public string   Password { get; set; }
    }
}

您将得到输出: