web-dev-qa-db-ja.com

DotNetNukeと別のASP.NETアプリケーションの競合を回避する方法

Webには次のシナリオがあります。

  • DotNetNukeを使用して開発された汎用Web
  • ASP.NET + Silverlightを使用して開発されたb2b Webアプリケーション

やりたいことは次のとおりです。

  • クライアントがwww.myCompanyDomain.comにアクセスするとき、クライアントがアクセスするWebはDotnetnuke Webです。
  • クライアントがwww.myCompanyDomain.com/b2bにアクセスすると、ロードされるWebはB2B Webです。

問題は、DotNetNukeアプリケーションをWebサーバーのメインディレクトリにインストールすると、Web.Config構成ファイルがサブディレクトリにインストールされているすべてのアプリケーションに継承され、B2Bアプリケーションが失敗することです。

正常にインストールするには、DotNetNuke Webをサブディレクトリに、B2B Webを別のディレクトリにインストールする必要がありますが、www.MyCompanyDomain.comからDotNetNuke Webに直接アクセスすることはできません。

アプリケーションをインストールし、IISを構成して必要な動作を実現するにはどうすればよいですか?

3
Doliveras

最初に確認することは、 'B2B'アプリケーションがIISでアプリケーション(仮想ディレクトリだけでなく)として定義されたことです。あなたが抱えている問題はweb.configの継承にあるようです。継承を破るためにB2Bアプリケーションで何ができるかについてのいくつかの役立つヒントを提供する次の記事をご覧ください。

http://www.aspdotnetfaq.com/Faq/how-to-disable-web-config-inheritance-for-child-applications-in-subfolders-in-asp-net.aspx

MSDNの情報: http://msdn.Microsoft.com/en-us/library/ms178685.aspx

もちろん、DotNetNukeとB2Bアプリのそれぞれをサブフォルダーにインストールし、www.myCompanyDomain.comのルートに301リダイレクトを配置するのが簡単な方法かもしれません。最も理想的ではありませんが、すぐに導入できます。 web.configの継承を修正することをお勧めします。

1
Rob