質問

私は(たぶん).NET 3.5のC#3.0に、企業のVisual FoxProアプリケーションを移行するために大規模なプロジェクトを引き受けることになります。私は、このアプリケーションのプロパティを報告するマルチユーザ/マルチサイト構成に至るまでに影響を与える設定の膨大な数を持っていることを知っています。現在、グローバルスコープされ、少なくとも150種類の設定があります。

すべてのインスタンスが同じデータベースを共有するための設定が現在だけ、ユーザレベルで変更されることから、それらを防止するアプリケーションのデータベース内のビットとして保存されます。

私の質問は、あなたは彼らがパフォーマンスを犠牲にすることなく、ユーザーごとに変更することができるようになる、これらの設定の保存を処理する方法を知っていますか?また、アプリケーションの実行中に値を変更することを可能にする方法で格納する必要があろう。任意のアイデアをいただければ幸いです。

役に立ちましたか?

解決

私は信じている標準Settings.Settingsファイルには、変数のスコープのアプリケーションまたはユーザーを含め、あなたにこの機能を提供しています。私は100%確実ではないですが、変更はアプリケーションを再起動せずにピックアップされた場合。

詳細はこちらをご覧ください: MSDN:C#で使って設定する

他のヒント

あなたは「企業」を移動したい場合は、ユーザ設定テーブルとペア設定定義テーブルを有する試すことができます。

設定の定義は、PKがドメイン列(ようにUIの設定、接続設定、言語設定とのため...)、および設定識別子によって定義されています。 3列目はデフォルト/グローバル値を定義します。

ユーザ設定はVARCHAR(x)は、定義PK +ユーザIDと設定値の欄を設定するPKのセットを有するであろう。

アプリケーションは、言語認識している場合は、

、言語IDカラムは、両方のテーブルに追加する必要があります。

ユーザ設定テーブルにユーザーの変更を保存すると、些細でなければなりません。グローバル設定の変更は、もう少し複雑である場合に通知されます。

EDIT:心に留めておくべき一つのことは、常にいくつかのデフォルトにフォールバックすることです:グローバル設定/デフォルトの言語

設定を保存し、アプリケーションのデータベースのテーブルにユーザー・フィールドを追加し、このテーブルへのすべての読み取り/書き込み呼び出しのパラメータとして、現在のユーザーを追加します。

あなたは、特定のユーザ対特定のデータ/アプリケーションである項目のための論理的介して動作する必要がある場合があります。 VFP(FoxProの)において、テーブルとそれぞれの主キーに関係なく、ユーザの、明らかに同じです。そのようなデフォルト値などの他のものは、などを追加/編集/削除するには、個々のユーザー、アカウント、アクセス、能力ごとにカスタマイズ可能であります。

HTH

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top