在我的应用程序中,我在登录后使用prism在WPF中完成登录我必须存储一些可以访问may模块的值(如user_id,username等),以便如何使用prism解决该问题与MEF
private void Login()
{
try
{
authentication.Login(LoginModel.UserName, LoginModel.Password);
// what i want to do here
(new InventoryBootstrapper()).Run();
App.Current.Windows[0].Close();
}
catch (Exception ex)
{
ErrorMessage = ex.Message;
}
}
答案 0 :(得分:1)
我知道有两种方式。
首先,您可以拥有'通用'服务。将此作为服务使用,就像您注册的任何其他模块一样,它会在应用程序打开时实例化,然后您可以调用此服务并根据需要使用这些值。
其次,您还可以拥有每个模块引用的“通用”项目,从核心模块到所有模块。
答案 1 :(得分:0)
或者,使用容器来存储/检索值:
商店:
this.container.RegisterInstance<string>("NameOfValue", "abc123");
检索:
string nameOfValue = this.container.Resolve<string>("NameOfValue");
代码必须处理 nameOfValue 无法解析的情况,因此为 null。