Question

Je vais avoir un peu de jeu autour avec IIS7, juste essayer d'attraper les événements manuellement dans global.asax et sauter tout le pipeline de HttpHandler ASP. À cette fin, je me suis fixé

<httpHandlers>
    <clear/>
</httpHandlers>
<httpModules>
    <clear/>
</httpModules>   

mais quand je l'appelle le serveur je reçois un YSOD

[HttpException]: No http handler was found for request type 'GET'
   at System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig)
   at System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Que dois-je faire pour empêcher complètement IIS de traiter les choses en utilisant le pipeline conventionnel? Ce que je veux juste faire Response.Writes dans les gestionnaires d'événements et méthodes async mis en place dans HttpApplication.Init

modifier: Ma question était OBV. un peu clair (désolé à tous ceux dont le temps était gaspillée) - je l'ai expliqué mieux que ce que je suis en train de faire est assez peu conventionnelle. Je suis en train de voir si je peux utiliser IIS pour gérer les requêtes Web d'une manière similaire à Node.js - par les gestionnaires de câblage jusqu'aux méthodes de Async HttpApplication. À cette fin, j'ai besoin ASP pour cesser de jeter un bancale parce que je ne veux pas utiliser HttpHandlers. À l'heure actuelle mon meilleur pari est d'utiliser un NullHttpHandler pour toutes les demandes, mais je me demande si je peux désactiver complètement le système de HttpHandler. Vos idées!

Était-ce utile?

La solution

Vous avez besoin d'IIS. La demande commence dans le pipeline IIS et ASP .NET pour le gérer, IIS doit être en mesure de trouver un gestionnaire http, il peut transmettre la demande à. Il transmet la demande à ASP .NET une seule fois, il a trouvé un gestionnaire correspond le.

Autres conseils

Vous devez ajouter à nouveau le StaticFileHandler:

  <httpHandlers>
    <clear />
    <add verb="*" path="*.jpg" type="System.Web.StaticFileHandler" />
  </httpHandlers>

Je sais que c'est un peu vieux ... mais si vous dans votre ie. événement BeginRequest de HttpApplication affecter un gestionnaire vous ne devriez pas HttpContext.Current.Handler obtenir cette erreur et peut laisser les gestionnaires section dans web.config vide.

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