3

いくつかの仕様:

  • IIS7.5
  • ASP.Net MVC3

ホストしたい MVC3 アプリケーションが 3 つあります。

  1. プロジェクトA
  2. プロジェクトB
  3. プロジェクトC

URLをそれぞれ次のようにしたい:

  1. http://ドメイン/
  2. http://ドメイン/ProjectB
  3. http://ドメイン/ProjectC

したがって、IIS には、ProjectA のフォルダーを指す既定の Web サイトがあります。次に、2 つのアプリケーション (1 つは ProjectB を指し、もう 1 つは ProjectC を指す) と、ハード ドライブ上のそれぞれのフォルダーを追加しました。サイトを C:\sites に保存しています。各プロジェクトには、アプリケーションのファイルが存在する C:\sites 内のフォルダーがあります。ご覧のとおり、サイトはサーバー上でまったくネストされていません。

http://domain/ProjectBをロードすると、ProjectA web.config から構成値をロードしようとしています。明らかに、これは私が望んでいるものではありません。また、私はサーバー構成が得意ではありません。ProjectA のほとんどの web.config を location タグで次のようにラップすることで、機能するようになりました。

<location path="." inheritInChildApplications="false" >
    <!-- Lots of web.config stuff for ProjectA -->
</location>

私は本当にこれのファンではありません、それは間違っていると感じています. 私には、IIS の私のサイトにネストされたアプリケーションは、親サイトについても認識していないように思えます。私は何を間違っていますか?本当に小さなものだと確信しています。私は ProjectA をアプリケーションにしましたが、 http://domain/でユーザーのためにプルアップしたいので、エイリアスは必要ありません。

繰り返しますが、私はサーバーのことについてそれほど知識がありません。それは私にとって楽しいことではありません。

ありがとう!

4

2 に答える 2

3

それがどのように機能するかです。デフォルトでは、asp.net アプリケーションは親の web.config を継承します。下位の web.config でこれらの値をオーバーライドするか、上記のように inheritInChildApplications="false" 属性でラップする必要があります。

考えられるオプションの 1 つは、サイトのルートにあるホームページを asp.net アプリケーションではなくすることができる場合です。できない場合は、これを行うのに行き詰まっています。

于 2012-05-09T17:35:06.247 に答える
0

goDaddy では、「set application root」を使用して iis 仮想ディレクトリを作成できます。これにより、「set application root」が設定された各ディレクタがルート ディレクトリとして機能します (必要に応じて)。ユーザーは何も気づきません。それで、あなたはそのオプションがあるかどうか見てみることができますか?

于 2012-05-09T17:38:03.660 に答える