Domanda

Sto avendo un po 'di gioco in giro con IIS7, solo cercando di eventi di cattura manualmente global.asax e saltare il gasdotto HttpHandler ASP del tutto. A tal fine, ho impostato

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

, ma quando chiamo il server ottengo 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)

Che cosa devo fare per prevenire completamente IIS dalla manipolazione cose usando la pipeline convenzionale? Quello che voglio è solo quello di fare Response.Writes nei gestori di eventi e asincrone metodi allestiti in HttpApplication.Init

modifica: La mia domanda era obv. un po 'poco chiaro (mi dispiace per tutti coloro il cui tempo è stato sprecato) - avrei spiegato meglio come quello che sto cercando di fare è piuttosto non convenzionale. Sto cercando di vedere se posso usare IIS per le richieste web manico in un modo simile a node.js - collegando i gestori fino ai metodi asincroni in HttpApplication. A tal fine ho bisogno ASP di smettere di gettare un traballante perché non voglio usare gestori HTTP. Attualmente la mia scommessa migliore è quella di utilizzare un NullHttpHandler per tutte le richieste, ma mi chiedo se posso disattivare completamente il sistema HttpHandler. Le vostre idee!

È stato utile?

Soluzione

Hai bisogno di IIS. La richiesta inizia in cantiere IIS, e per ASP .NET gestirlo, IIS deve essere in grado di trovare un gestore HTTP, si può passare la richiesta a. Si passa la richiesta a ASP .NET solo una volta ha trovato un gestore appropriata.

Altri suggerimenti

È necessario aggiungere nuovamente lo StaticFileHandler:

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

So che è un po 'vecchio ... ma se nel vostro esempio. evento BeginRequest di HttpApplication assegnare al gestore HttpContext.Current.Handler non si dovrebbe ottenere questo errore e può lasciare il gestori di sezione in web.config svuotare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top