Question

Je sais qu'il existe au moins deux approches pour tirer parti du fichier web.config:

Mon problème est que les deux approches fonctionnent correctement uniquement pour les chemins physiques . Mais je dois traiter un fichier de configuration qui se trouve dans un répertoire virtuel .

Quelle autre méthode pourrais-je utiliser pour placer mes ressources de configuration dans un répertoire virtuel?

Remarque: je souhaite le faire de cette façon car j'ai plusieurs instances de mon application Web sur le même serveur (et sur de nombreux serveurs). Pour que le déploiement soit facile et propre, je souhaite conserver un répertoire pour tous les fichiers (aspx, ascx, images, css, js, etc.) et faire pointer les applications Web dans IIS pour différents clients (= domaines, https, etc.). répertoire unique. Dans chaque site Web IIS, je disposerais d’un répertoire virtuel appelé "personnalisé". qui pointe vers un dossier différent pour chaque site Web.

Mettre à jour: je tiens à souligner que ce répertoire virtuel "personnalisé" n'est pas adapté pour contenir un fichier web.config hérité - ce dernier ne serait valide que pour le dossier personnalisé ne contenant pas de fichiers aspx / ascx.

Était-ce utile?

La solution

J'ai le même scénario et après avoir lu votre message, j'ai réalisé que asp.net ne vous laissera pas faire cela pour diverses raisons de sécurité.

Par conséquent, je me suis tourné vers le système d'exploitation pour trouver un équivalent à la fonction de liaison logicielle Linux, ce qui m'a conduit à la Utilitaire de jonction de sysinternals. Cela peut créer un répertoire qui est en réalité un autre répertoire sur ce volume et asp.net ne peut pas faire la différence et donc, happy charge les sections de configuration qui ne se trouvent pas réellement dans un sous-répertoire de votre site Web. Fonctionne pour moi:)

Autres conseils

Les répertoires virtuels peuvent être définis en tant qu’applications. Vous pouvez simplement y placer un autre fichier web.config.

Il héritera de toutes les modifications de la configuration parente et vous pourrez y ajouter des paramètres personnalisés.

Je cherchais à faire la même chose, mais cela n’a pas fonctionné. J’ai donc décidé de faire l’inverse: vous savez que web.config peut être hérité, j’ai donc dirigé IIS vers un dossier contenant la configuration client (chaîne de connexion). , chemin du fichier, etc.) et les fichiers du site Web, je les mets dans un répertoire virtuel avec le reste de webconfig (où il charge la dll et autres fichiers d’application nécessaires) Donc, fondamentalement, je peux utiliser les fichiers du site Web pour plusieurs clients et les clients avec leur propre chaîne de connexion à la base de données et d'autres paramètres client spécifiques.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top