web-dev-qa-db-fra.com

Comment éviter DotNetNuke avec d'autres conflits d'application ASP.NET

Web ont le scénario suivant:

  • Un site web générique développé avec DotNetNuke
  • Une application Web b2b développée en utilisant ASP.NET + Silverlight

Ce que nous voulons faire est le suivant:

  • Lorsqu'un client accède à www.myCompanyDomain.com, le site Web auquel le client a accès est le site Web Dotnetnuke.
  • Lorsqu'un client accède à www.myCompanyDomain.com/b2b, le Web chargé est le Web B2B.

Le problème est que, lorsque nous installons l'application DotNetNuke dans le répertoire principal de notre serveur Web, le fichier de configuration Web.Config est hérité par toute application installée dans un sous-répertoire, ce qui entraîne l'échec de l'application B2B.

Pour que l'installation soit opérationnelle, nous devons installer le site Web DotNetNuke dans un sous-répertoire et le site Web B2B dans un autre, mais cela rend impossible l'accès direct au site Web DotNetNuke à partir de www.MyCompanyDomain.com.

Comment pouvons-nous installer les applications et configurer le IIS pour avoir le comportement souhaité?

3
Doliveras

La première chose à vérifier est que l'application 'B2B' a été définie dans IIS en tant qu'application (et pas seulement un répertoire virtuel). Il semble que le problème que vous rencontrez concerne l'héritage web.config. Consultez l'article suivant qui peut fournir des conseils utiles sur ce que vous pouvez faire avec l'application B2B pour rompre l'héritage:

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

Informations sur MSDN: http://msdn.Microsoft.com/en-us/library/ms178685.aspx

Une approche simple pourrait bien sûr être d’installer chacun de DotNetNuke et de votre application B2B dans des sous-dossiers, puis de placer une redirection 301 à la racine de votre www.myCompanyDomain.com. Pas l'idéal, mais serait rapide à mettre en place. Je vous conseillerais de corriger l'héritage web.config.

1
Rob