2009-08-05 19 views
1

LINQ to SQL DataContextsを使用するWPFアプリケーションがあります。WPF/C# - 接続文字列をテストしてエレガントに失敗する

データベース接続をテストし、接続が不良であるかネットワークがダウンしていることをユーザーに知らせる "ベストプラクティス"の方法は、アプリケーションが爆発するだけではないためです。

今のところ、「Windowsは問題の解決を確認しています」の間に、スプラッシュ画面が表示され、「プログラムが機能しなくなりました」というメッセージが表示されます。

ありがとうございます!

答えて

1

デバッグモードでアプリを実行してみます。どの例外がスローされるのかを教えてくれます(uncatched exceptionsはあなたが話している厄介なspalshスクリーンを与えるでしょう:))。その例外をキャッチし、永遠に幸せに生きてください。

0

問題は、私のdatacontextsがXAMLのObjectDataProvidersを通じてアクセスされるため、ブレークポイントが得られないことです。 ObjectDataProviderにはうまく機能しないいくつかのメカニズムがありますか、またはInitializeComponent呼び出しの前にMainFormスタートアップでConnectionStringをテストしますか?

+0

まだ、デバッグモードでは、(VSでそれをオフにしていない限り)未調査の例外に関する詳細な例外情報を取得する必要があります。 – cwap

0

試してみるとよいでしょう。私は(それは価値がある何のために)私がやっているアプリや、これと同様の問題は、私が追加するものであることだ。

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"); 
     } 
    } 

は、この情報がお役に立てば幸いです。

関連する問題