我正在检查Windows身份验证用户是否是我的wpf应用程序的有效用户。
如果没有,我需要关闭应用程序;但即使在执行Application.Current.Shutdown(-1)之后,应用程序也会继续执行。
以下链接说我需要删除我的StartUpURI;但我的app.xaml中没有这个标签。 - > Shutting down a WPF application from App.xaml.cs
编辑: - 我在APP.XAML.CS中有这个代码 - >
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
this.exceptionPolicy = ConfigurationManager.AppSettings.Get("ExceptionPolicy");
this.displayErrorDetails = true;
this.container = new UnityContainer();
// Register services and types in Unity
RegisterServices();
// Check user
if (!IsValidUser())
{
//Application.Current.Shutdown();
App.Current.Shutdown();
}
}
答案 0 :(得分:12)
请改用Environment.Exit()。这将尝试优雅地关闭,但如果不能优雅地关闭,将粗暴地关闭 - 强制终止线程。
答案 1 :(得分:0)
我从来没有幸运地从初创公司关闭了一些东西。我建议启动一个新的Thread,经过一些短暂的延迟后,使用你样本中的类似代码关闭应用程序。