Frage

Ich habe ein bisschen ein Spiel um mit IIS7, nur versuchen, zu fangen Ereignisse manuell in global.asax und überspringen vollständig die ASP-Httphandler-Pipeline. Zu diesem Zweck habe ich gesetzt

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

aber wenn ich den Server aufrufen erhalte ich eine 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)

Was muss ich tun vollständig IIS zu verhindern, dass Dinge Umgang mit der konventionellen Pipeline mit? Was ich will, ist nur Response.Writes in Event-Handler zu tun und Asynchron-Methoden eingerichtet in HttpApplication.Init

edit: Meine Frage war Vs.. ein wenig unklar (leider alle Personen, deren Zeit verschwendet wurde) - erklärte ich hätte es besser als das, was ich versuche, ist ziemlich unkonventionell zu tun. Ich versuche zu sehen, ob ich IIS Griff Web-Anfragen in einer ähnlichen Weise wie node.js verwenden kann - von Handler bis zu den Asynchron-Methoden in Httpapplication Verdrahtung. Zu diesem Zweck muss ich ASP ein wackelig stoppen werfen, weil ich Httphandlers nicht verwenden möchten. Derzeit meine beste Wette ist eine NullHttpHandler für alle Anforderungen zu bedienen, aber ich frage mich, ob ich völlig das Httphandler System deaktivieren. Ihre Ideen!

War es hilfreich?

Lösung

Sie müssen IIS. Die Anfrage beginnt in der IIS-Pipeline und für ASP .NET es zu handhaben, IIS muss in der Lage sein, einen HTTP-Handler zu finden, die es den Antrag passieren kann. Es gibt die Anforderung an ASP .NET nur, wenn es um ein individuelles Behandlungsroutine gefunden hat.

Andere Tipps

Sie müssen erneut hinzufügen die StaticFileHandler:

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

Ich weiß, es ist ein bisschen alt ... aber wenn Sie in Ihrem also. BeginRequest Fall HttpApplication assign einen Handler HttpContext.Current.Handler Sie diesen Fehler nicht bekommen sollen und können den Handler-Abschnitt in web.config leer lassen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top