0

Visual Studio の構成に関する以前の質問によると、 Visual Studio の構成マネージャーを使用して、ASP.net Web サイト プロジェクトのさまざまな構成を作成する方法はありません。

通常のプロジェクトでは、デバッグ中か実稼働中かに応じて特定のサーバーまたはデータベース変数を切り替える #if ディレクティブがあります。これは Web サイトでは機能しません。

たとえば、Web サイトのバックエンド サーバー接続を定義するクラス (App_Code 内) には、ローカルでデバッグ サーバーを実行する場合に、web.config の運用値をオーバーライドするこのようなコードのチャンクが存在する可能性があります。機械:

#if DEBUGLOCAL
           ServerProperties.ServerIP = "localhost";
           ServerProperties.DataContextIP = "localhost";
#endif

Web サイトには「Debug Local」構成がなく、DEBUGLOCAL が定義されていないため、これは機能しません。

このような問題を回避する良い方法を見つけましたか? すべてをリファクタリングして、それらのすべての参照がクラス ライブラリ プロジェクトに存在するようにする以外に (希望) はありますか?

ETA:ウェブ展開プロジェクトはここで役に立ちますか?

4

2 に答える 2

1

おそらく、web.config でスワッピングを行う Web 配置プロジェクトが役立つかもしれません。もう 1 つの考えは、web.config に接続文字列を設定し、各環境に存在する事前に指定されたデータベースからさまざまな値を取得して、ファイルに触れることなく設定を簡単に変更できるようにすることです。

于 2009-01-14T18:49:50.960 に答える
0

もう 1 つのオプションは、Web サイトを Web アプリケーションにアップグレードすることです。

今すぐ移行するには大変な作業になる可能性がありますが、Web サイトまたは Web アプリケーションを使用することを決定している場合は、構成を持つ機能がスケールを傾けるのに役立つ場合があります。

于 2009-01-15T18:14:46.520 に答える