J'ai un gestionnaire HTTP personnalisé qui implémente IHttpHandler. Voici ce que j'ai configuré dans mon webConfig. Si je comprends bien, ce bloc devrait capturer toutes les demandes avec .test comme extension.Le gestionnaire HTTP n'est pas appelé
<handlers>
<add name="SampleHandler" verb="*" path="*.test"
type="TestApp.App_Start.CustomHandler, TestApp" />
</handlers>
Cependant, la seule fois ce gestionnaire est toujours invoqué est quand j'ai une profondeur de chemin de trois appliqué à l'URL de la requête. Toutes les autres demandes seront 404.
Par exemple, le gestionnaire fonctionne correctement lorsque le chemin est:
localhost:XXX\some\fake\path\file.test
Mais pas pour:
localhost:XXX\some\file.test
J'utilise ASP.NET MVC 5 et suspect cela a quelque chose à voir avec le routage. J'utilise aussi l'exemple de projet fourni dans VS2013, donc en plus d'un gestionnaire ajouté au projet, je n'ai vraiment rien fait d'autre.
Mise à jour:
J'ai déterminé la route par défaut est interférait.
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Y a-t-il moyen de le faire fonctionner même si cette route est configurée?
Je ne pense pas que thats it. Ce tutoriel montre comment cela fonctionne http://www.hanselman.com/blog/BackToBasicsDynamicImageGenerationASPNETControllersRoutingIHttpHandlersAndRunAllManagedModulesForAllRequests.aspx – cgatian
Consultez cette documentation de mise à jour MSDN: http://msdn.microsoft.com/fr-fr/library/vstudio/46c5ddfy(v=vs .100) .aspx – EduardoFernandes
Oui, il est dit II6. Je cours II8. Pour ajouter, j'ai également essayé cela et IIS se sont plaints qu'il y avait des paramètres invalides. – cgatian