2009-04-23 6 views
11

サブフォルダ内のweb.configを完全に無効にすることはできますか?サブフォルダ内の "上位" web.configを完全に否定することはできますか?

明らかに、私はルートにweb.configを持っています。

「MyApp」というサブフォルダがある場合は、そこにコードを書き込んで、ルートのweb.configへの参照なしで実行できますか?独自のweb.configを持ち、rootの "上位" web.configも参照しません。

私が探しているのは、完全なアプリケーション分離です。私は既存のサイトのサブフォルダにアプリを書くことができたいと思っています。既存のサイトの上のweb.config階層全体を無視します。

私は "クリア"要素を使用することができますが、それが最善の方法ですか?すべてのトップレベル要素の下に「クリア」を置くだけですか?別の方法があるかどうか疑問に思うだけです。

共有ホスティングと簡単にするために設計することによりWill a child application inherit from its parent web.config?

+1

本当に重複しているわけではありません。 –

答えて

1

はい、上書きするセクションをクリアする必要があります。それをもう少し考えてみると、これは意味があります。すべてをクリアする唯一の方法は、何をクリアするかを決めることが非常に難しいかもしれないからです。 Clearは通常、サーバーのframeworks/configフォルダに定義されているweb.configsとmachine.configのルートweb.configsを含むすべての設定をリセットします。

また、/ binフォルダ、/ app_codeフォルダなどにアクセスできなくなることに注意してください。これは、必要な場合とそうでない場合があります。

ホストでサブアプリケーションを作成できるかどうかは、考慮する必要があります。

+0

"は親アプリの知識がなく、どちらもweb.config [...]" - これは当てはまりません。親Web設定からappSettingsにアクセスすることはできますが、モジュールはまだ適用されています。実際、上位Web.configsから明示的にモジュールを削除する必要がありました。 – Deane

+0

うーん、良い点、私はちょうどそれをテストした、あなたが正しいです。それは私にはニュースです、私はすぐに私の答えを更新します。 –

+0

Web.configの上位レベルを完全に放棄できない理由について理解しておいてください。例えば、machine.configレベルに存在するものがあり、Webサーバーを移動させるため、それらを選択的に消去する必要があります。 – Deane

1

番号の重複。

IIS7は、configsを明示的にロック/ロック解除できるようにすることで少し変更されています。

1

別のアプリケーションルートである仮想ディレクトリを作成するほうがはるかに聞こえます。ルートディレクトリにあるweb.configファイルで

0

を私はしました私の仕事でこの問題に遭遇しました。私の解決策は、既存のウェブサイトの下に自分のアプリケーションを入れ子にするのではなく、新しいウェブサイトを作成することでした。新しいアプリケーション(www.mysite.comなど)のドメインマッピングは同じままにしていましたが、ポート番号/マッピングが変更されました。

私はwww.mysite.com:88で私の新しいアプリケーションを使用することができ、サブドメインを使用する必要はありませんでした。

私のアプリケーションはWebサービスなので、URLにポート番号を指定する必要があります。それはあなたのための選択肢ではないかもしれませんが、私は私の状況で誰かを助けることができますこれを投稿すると思った。

がASP.Net Framework 4.0より前に存在しないようですので、<location path="." inheritInChildApplications="false"></location>ソリューションは私にとってはオプションではありませんでしたか?

関連する問題