私のやり方は、SQL接続情報を持つPOCOオブジェクトから直列化されたXMLファイルを隔離されたストレージに保存したことです。そこから読み書きできるユーザーアカウントには実際の制限がないので、ユーザーのアクセス許可について心配する必要はありません。
次に、接続文字列プロパティがアプリケーション設定ファイルから読み込まれたときに、XMLファイルを独立した記憶域にデシリアライズし、接続文字列を作成して、それをアプリケーション設定接続文字列に挿入するように設定イベントを変更しましたプロパティ。私は設定クラスそのものの中でこれを行っていたので、ファイルに書き込むことはできませんでしたが、ファイルに保存することはできませんでした。
私のアプリケーションを実行すると、サーバーに接続できない場合は、SQL Server情報を要求するウィンドウがポップアップして入力され、それを入力すると隔離されたストレージに保存されます再度(アップグレードしても)
クライアントアプリケーション(WPFまたはWinForms)を使用している場合、他のマシンのユーザーはこれを使用することはできません.Net Remotingなどを調べない限り、おそらく解決策は見つけられません。その性質。ただし、WinForms AppのSAMEマシンに複数のユーザーがいる場合は、IsolatedStorageを使用することができ、すべてのユーザーに使用できます。設定クラスで
、このイベントハンドラを追加:他のあなたは上の共有の場所を作成する必要が指摘したように
protected override void OnSettingsLoaded(object sender, System.Configuration.SettingsLoadedEventArgs e)
{
base.OnSettingsLoaded(sender, e);
this["MyAppConnectionString"] = MyLibrary.BuildConnectionString();
}
あなたの質問に対する答えは、ユーザー設定を使用する必要があるようです。しかし、あなたはすでにそれらを述べたので、私はあなたの問題が何であるか分かりません。すべてのユーザーに同じ接続文字列を共有させたいが、それをカスタマイズできるようにするか? –
はい。すべてのユーザーが同じ接続文字列を使用してカスタマイズするようにします。 – superartsy
他のコメントの1つでは、アプリケーションを管理したいと思うようです。アクティブディレクトリにいる場合は、アプリケーション管理にグループポリシーを使用できます。データベースが移動された場合、ポリシーが更新され、すべてのユーザーが自動的に更新されます。しかし、必要な努力はおそらくあなたが投資したい以上のものです。 –