1

初めて実行する構成が必要な単純な MVC CMS を作成しています (データベースと管理者ユーザー アカウントをセットアップするためなど)。

セットアップ画面でデータベース接続文字列を要求されるため、最初の実行時には、データベース ストアに関する知識はありません。

アプリケーションが初めて実行されることをどのように検出し、そのセットアップ画面に移動しますか?

初期値を false にして web.config に設定を入れる必要があります。

<add key="SetupComplete" value="false" />

セットアップが完了したら、次の方法で変更できます。

ConfigurationManager.AppSettings.Set("SetupComplete", "True");

この方法の欠点は、アプリケーションが再起動された場合、構成値がデフォルトで「false」になることです。この問題の良い解決策は何ですか?

4

2 に答える 2

1

多くの PHP CMS は、あなたがやりたいことと同じことをしています。これは初期設定であるため、管理者がこの値を手動で変更するか、手動で削除する必要があるファイルの存在を確認するだけで問題ありません。IIS アプリなので、展開パッケージをビルドするので、インストール プロセス中に初期設定を行うことができます。これは、IIS アプリの一般的な方法だと思います。

于 2013-09-11T04:32:53.397 に答える
0

過去に、カスタムSettingsProviderを実装しました(例はこちらこちらです)。キーが確実に暗号化されるように、セキュリティに関して特別な注意が払われました。サンプルは完璧ではありません。Visual Studio および .NET 2.0 によって提供されるアプリケーション設定を使用して、選択した形式 (xml など) と場所 (AppData など) で設定を保存できます。

アプリケーションが web.config を変更できるようにするよりも少し安全です。後者を行うと、プロセスの権限を昇格させる必要があり、アプリケーションがインターネット上に公開されたときにかなり危険になる可能性があるためです。

また、バックアップとアップグレードも簡素化されます。

于 2013-09-11T05:28:09.590 に答える