[英]WPF/C# - test connection string and fail elegantly
我有一個使用LINQ到SQL DataContexts的WPF應用程序。
測試數據庫連接並讓用戶知道連接不良或網絡中斷等“最佳實踐”方法是什么,以便該應用程序不只是炸彈。
現在,我得到了啟動畫面,然后在“ Windows正在檢查問題的解決方案”的同時顯示“程序已停止工作”。
謝謝!
嘗試以調試模式運行該應用程序。 它會告訴您哪個異常被拋出(未捕獲的異常將使您在談論討厭的spalsh屏幕:))。 然后抓住那個例外,在..之后永遠快樂地生活。
問題是我的數據上下文是通過XAML中的ObjectDataProviders訪問的,因此沒有斷點。 ObjectDataProvider是否具有某種機制來優雅地失敗,還是在InitializeComponent調用之前在MainForm啟動中測試Connectionstring?
在您認為可能會有所幫助的地方嘗試(不要雙關語)try / catch語句。 我正在做的應用程式也有類似的問題,這就是我所增加的價值:
private void txtCustomerNameSearch_TextChanged(object sender, TextChangedEventArgs e)
{
fillCustomerListDataContext dbC = new fillCustomerListDataContext();
var fillCustList = from c in dbC.lstCustomers
where c.CustomerName.StartsWith(txtCustomerNameSearch.Text)
orderby c.CustomerName
select new
{
c.CustomerName,
c.CustomerID
};
try
{
lstCustomerNames.ItemsSource = fillCustList;
lstCustomerNames.DisplayMemberPath = "CustomerName";
lstCustomerNames.SelectedItem = "CustomerID";
}
catch (Exception ex)
{
MessageBox.Show("Error = " + ex.Message,"Keeping Amy off balance message");
}
}
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.