我正在尝试构建一个窗口电话7.1应用程序,其中通过webservice从db获取用户名到我的xaml.cs文件。现在,我需要访问scheduletaskagent(后台进程)的用户名。即使我使用PhoneApplicationService.Current.State [“username”]来存储我的变量值,也无法实现它。 以下是我的xaml.cs文件代码:
private void tservice_InsertUserCompleted(object sender, UTservice.InsertUserCompletedEventArgs e)
{
if (e.Result != string.Empty)
{
username = e.Result.ToString();
PhoneApplicationService.Current.State["uname"] = username;
StartPeriodicAgent();
}
}
以下是scheduledtaskagent.cs中的代码
protected override void OnInvoke(ScheduledTask task)
{
string uname;
uname = PhoneApplicationService.Current.State["uname"].ToString();
}
在上述声明中得到“NullReference”异常。
有人可以让我知道解决问题的方法吗?提前谢谢。
答案 0 :(得分:0)
PhoneApplicationService.Current.State
是流程的本地; AFAIK,您无法直接将值传递给后台代理!
但是,您可以将一些信息保存到IsolatedStorage中的文件中,并且当代理程序运行时读取该文件内容并以某种方式使用它!