J'utilise le routage d'URL (avec WebForms) dans le format suivant:routage d'URL et web.config de dossiers imbriqués
http://host/project/{projectid}/{pageName}
Une autre option est que l'utilisateur est à un sous-application référait:
http://host/project/{projectid}/{application}/{pageName}
La sous-application n'est pas une nouvelle application Web, simplement un répertoire virtuel.
Ma sous-application possède un fichier web.config, qui contient des appset/connstrings spécifiques.
Tout fonctionne correctement sans le routage URL.
Cependant, lorsque je demande une URL dans le formulaire routé, le fichier web.config de la sous-application n'est pas traité et j'obtiens une référence nulle sur tous les appsettings/connstrings (via ConfigurationManager).
Voici le code dans mon gestionnaire personnalisé:
string path = String.Format(_pagesFormat, application, pageName);
return (IHttpHandler) BuildManager.CreateInstanceFromVirtualPath(path, typeof(Page));
Il fonctionne si je changerais ma route vers http://host/{application}/{projectid}/{pageName}
Cela déclenche probablement IIS pour charger le web.config du répertoire virtuel. Puis-je en quelque sorte forcer le chargement des paramètres du web.config imbriqué?
EDIT:
Cette personne a un problème similaire:
http://forums.asp.net/p/1452479/3317775.aspx
Toutes les idées?