2013-01-01 5 views
5

Ich habe eine ASP.NET 4.5 MVC App. Ich möchte RAMMFAR (runAllManagedModulesForAllRequests) nicht festlegen, da dies unnötigerweise Anforderungen für statische Ressourcen über die ASP.NET-Pipeline senden würde; Ich möchte jedoch, dass alle Anforderungen, die mit dem Pfad /Download/ beginnen, unabhängig von der Erweiterung die ASP.NET-Routingpipeline durchlaufen. Auf diese Weise kann ich sie zu einem Controller leiten und dynamisch generierte Ressourcen bedienen.Richten Sie RAMMFAR nur für bestimmte Pfade ein

Wie kann das gemacht werden? Ich habe keinen Zugriff auf IIS-Einstellungen, aber hoffentlich gibt es eine Möglichkeit, dies über web.config zu tun.

Antwort

1

Die RAMMFAR-Einstellung ist pro Anwendung. Sie müssen separate IIS-Anwendungen erstellen, wenn Sie möchten, dass verschiedene Teile der Site unterschiedliche Einstellungen haben, aber das ist leider keine Option für Sie.

ich zwei haben zwei Seiten Notizen aber:

  1. Sind Sie sicher, dass Sie auch RAMMFAR brauchen? Ich denke, dass es sehr selten benötigt wird, wenn ich IIS 7.5 und neuer benutze, weil IIS und ASP.NET verwaltete/native Anfragen ziemlich gut handhaben können.
  2. Haben Sie dies als ein tatsächliches Problem identifiziert, um es immer aktiviert zu haben? Zweifellos wird RAMMFAR die Dinge langsamer machen, aber die Frage ist, ob es einen messbaren Effekt in Ihrer App verursacht. Selbst wenn eine statische Datei verwalteten Code durchläuft, wird die endgültige Verarbeitung der Datei in systemeigenem Code zurückverfolgt. Es gibt also ein bisschen mehr Arbeit, um die verwaltete ASP.NET-Pipeline "durchzugehen", aber sobald das erledigt ist, ist es wieder mit dem nativen IIS/Windows-Code.
Verwandte Themen