Je génère un sitemap XML/Google à la volée en utilisant un Handler Http, de sorte que je n'ai pas besoin de maintenir un fichier XML manuellement.Spécification du chemin exact de mon ASP.NET Http Handler
Je cartographié mon Http Handler à "sitemap.xml" dans mon web.config comme ceci:
<httpHandlers>
<add verb="*" path="sitemap.xml" type="My.Name.Space, MyAssembly" />
</httpHandlers>
Il fonctionne très bien. Maintenant, www.mywebsite.com/sitemap.xml met mon Http Handler en action et fait exactement ce que je veux. Cependant, cette URL fera la même chose: www.mywebsite.com/some/folder/sitemap.xml et je ne veux pas vraiment que ce soit parce que je veux juste mapper mon gestionnaire à la racine de mon application.
J'ai essayé de changer le "chemin" de mon gestionnaire dans mon web.config en "/ sitemap.xml" et "~/sitemap.xml" mais ne fonctionne pas.
Ai-je oublié quelque chose ici?
La solution 1 signifie toujours que le code du gestionnaire est exécuté. Je ne veux pas ça. Je ne veux l'exécuter que lorsqu'une URL spécifique (la racine) est demandée. Certes, c'est mon repli. La solution 2 n'est pas vraiment une option: mettre un web.config dans chaque répertoire! Que faire si j'ai des centaines de répertoires? –