ファイル内に と のApplication_Startup
2つのメソッドを持つ WPF アプリケーションがあり、それぞれアプリケーションのとイベントにフックされています。これら 2 つのメソッドの実装は次のとおりです。Application_Exit
App.cs
Startup
Exit
private void Application_Startup(object sender, StartupEventArgs e)
{
try
{
if (LoginModel.TryLoginUsingSavedCredentials())
{
MainView view = new MainView();
view.Show();
}
else
{
LoginView loginView = new LoginView();
var result = loginView.ShowDialog();
if (result.HasValue && result.Value)
{
MainView view = new MainView();
view.Show();
}
}
}
catch (FaultException ex)
{
Views.MessageBox.ShowMessage("Login failed",
string.Format("Unabled to login.\r\n{0}", ex.Message),
Entities.Enums.DialogType.OK,
Entities.Enums.DialogIcon.Error);
}
}
private void Application_Exit(object sender, ExitEventArgs e)
{
ConnectionFactory.Instance.CloseAllProxyChannels();
}
アプリケーションを実行すると、LoginModel.TryLoginUsingSavedCredentials()
false が返された場合、LoginView
が表示されます。ここで、ブレークポイントを設定しif(result.HasValue ...)
てステップ インします。MainView
が作成されview.Show()
て実行されますが、デバッガーの矢印がすぐにApplication_Exit
メソッドにジャンプし、アプリケーションが終了します。例外、出力エラー、ダンプ ファイルなどは表示されません。
奇妙なことに、すべてのロジックをコメントアウトして、Application_Startup
次の 2 行を入れるだけです。
MainView view = new MainView();
view.Show();
その後、アプリケーションは問題なく動作します。何が間違っている可能性がありますか?前もって感謝します。