保存的用户对象有时为 Null 但有时在 Windows phone 8.1 C# 中运行完美
Saved User object is Null sometimes but works perfect sometime in Windows phone 8.1 C#
我的 Class 功能出现问题。我调用一个函数,并在该函数中调用另一个函数来获取保存的用户详细信息。我在用户对象中保存了详细信息以供进一步使用。但是用户对象有时会变为 null,有时 return 在调试期间的精确值....
这是我的 Class 函数..
public async void Save_Data_in_Log(string EventName, string completeUrl)
{
Get_User_Detail_Event();
//Above function is another function to get User detail in savedUserObject.
UserId = savedUserObject.id;
device_id_string = savedUserObject.deviceId;
status = "System Event";
device_type = "Windows";
DateTime universalTime = DateTime.UtcNow;
string universalformate = universalTime.ToString("yyyy MM dd, HH:mm:ss");
string data_to_save_in_log_File = serial_No + " | " + universalformate + " | " + UserId + " | " + device_id_string + " | " + device_type + " | " + status + " | " + EventName + " | " + completeUrl;
}
private async void Get_User_Detail_Event()
{
if (settingsto_save_detail.LoadSetting("currentUser") != null)
{
savedUserObject = await settingsto_save_detail.RetrieveObjectAsync<UserDetail>("currentUser");
}
}
为什么这个函数不提供准确的用户详细信息。?这有时效果很好,但主要是给 Null 对象。
请指导我如何解决这个问题。谢谢
这就是 await-async 异步的工作原理。流程不同步。
像这样将 return 类型更改为任务:
async Task Get_User_Detail_Event
并像这样调用方法:
await Get_User_Detail_Event();
我的 Class 功能出现问题。我调用一个函数,并在该函数中调用另一个函数来获取保存的用户详细信息。我在用户对象中保存了详细信息以供进一步使用。但是用户对象有时会变为 null,有时 return 在调试期间的精确值....
这是我的 Class 函数..
public async void Save_Data_in_Log(string EventName, string completeUrl)
{
Get_User_Detail_Event();
//Above function is another function to get User detail in savedUserObject.
UserId = savedUserObject.id;
device_id_string = savedUserObject.deviceId;
status = "System Event";
device_type = "Windows";
DateTime universalTime = DateTime.UtcNow;
string universalformate = universalTime.ToString("yyyy MM dd, HH:mm:ss");
string data_to_save_in_log_File = serial_No + " | " + universalformate + " | " + UserId + " | " + device_id_string + " | " + device_type + " | " + status + " | " + EventName + " | " + completeUrl;
}
private async void Get_User_Detail_Event()
{
if (settingsto_save_detail.LoadSetting("currentUser") != null)
{
savedUserObject = await settingsto_save_detail.RetrieveObjectAsync<UserDetail>("currentUser");
}
}
为什么这个函数不提供准确的用户详细信息。?这有时效果很好,但主要是给 Null 对象。
请指导我如何解决这个问题。谢谢
这就是 await-async 异步的工作原理。流程不同步。 像这样将 return 类型更改为任务:
async Task Get_User_Detail_Event
并像这样调用方法:
await Get_User_Detail_Event();