2012-02-15 10 views
4

小さなasp.netアプリケーションを既存のWebサイトのサブフォルダに追加しようとしています。問題は、ルートweb.configファイルにアプリケーションを壊すモジュールが含まれていることです。 Web.configの継承を防止/削除したいweb.config継承:<clear/>が原因で<system.webServer>のXML解析エラーが発生する<modules>

親のweb.config

... 
<system.webServer> 
    ... 
    <modules> 
    <add name="WwwSubDomainModule" type="BlogEngine.Core.Web.HttpModules.WwwSubDomainModule, BlogEngine.Core" /> 
    <add name="UrlRewrite" type="BlogEngine.Core.Web.HttpModules.UrlRewrite, BlogEngine.Core" /> 
    ... 
    </modules> 
... 

私はに継承させたいです他のサブフォルダがあるので、私はルートに次の場所タグを使用することはできません。子供が親から継承を解除する方法はありますか?

<location path="." inheritInChildApplication="false"> 

子のweb.config

... 
<system.webServer> 
    ... 
    <modules> 
    <clear/> 
    </modules> 
... 

私は明確な使用してみましたが、これは奇妙な構文解析エラーが発生: 「XML解析エラー:どの要素が場所を発見した:...行番号1、列1: "

モジュールごとに削除を使用すると、いくらか成功します。限り、私は少なくとも1つのモジュールを残してください。 (どちらにしても問題ありません)最後のモジュールを削除すると、同じ解析エラーがクリアとなります。誰でもこのエラーが起こっている理由を知っていますか? web.configの継承を排除する他の方法はありますか?

答えて

1

最も簡単な解決策は、サブフォルダにはアプリケーションを参照するので、独自のアプリケーションとしてアプリケーションを設定することです。それでも、ユーザーを他の親アプリにリンクすることはできます。サブフォルダを設定して、すべての要求を他のアプリケーションにリダイレクトします。私には建築的な問題のように聞こえますが、私は少量の情報に基づいて推測しています。

もう1つの方法は、親アプリがweb.config内のアセンブリを参照している場合、子アプリでそれを除外することです。

私の最後の提案は、ソースコードとアプリケーションの参照をちょっと改善して再コンパイルするだけで済むかもしれないということです。

関連する問題