ASP.NET Zone

Die ASP.NET Community. Alle Antworten rund um Microsoft® Webtechnologien
Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe | Impressum | ASP.NET Zone Suchplugin

in
Home Blogs Foren FAQ Communities Fotos Downloads
Werbeanzeige

httpHandler reagiert lokal, auf dem Server aber nicht

Letzter Beitrag 05-16-2012, 20:52 von Hege. 7 Antworten.
Beiträge sortieren: Zurück Weiter
  •  04-16-2012, 17:13 224178

    httpHandler reagiert lokal, auf dem Server aber nicht

    Hallo,

    ich habe einen üblichen Anwendungsfall. Es gibt einen Downloadordner in einer ASP.NET 3.5 Webanwendung, der nachträglich mit einen Login versehen werden soll. Also schnell ein Handler gebaut, der den Login prüft und dann die Datei oder ein Fehlertext liefert. Für die Registrierung des Handlers habe ich folgende Web.config in das Downloadverzeichnis gelegt:
    <?xml version="1.0"?>
    <configuration>
        <system.web>
            <httpHandlers>
                <add verb="*" path="*.*" type="Downloads"/>
            </httpHandlers>
        </system.web>
    </configuration>

    Wenn ich jetzt die Url http://localhost/MeineAnwendung/Downloads/test.txt aufrufe, erhalte ich die Meldung vom Handler. Auf dem Server (Windows 2003) geht es jedoch nicht.

    Ich habe nun unzählige Artikel durchgelesen, komme jedoch nicht voran. Der IIS will die Dateien nicht mit der .NET Engine verknüfen. Jedoch kann ich auf dem Server schlecht sagen, dass er alle Dateiendungen durch die Engine jagen soll, oder? Hat jemand eine Idee, warum es lokal geht, aber nicht auf dem Server?

    Danke für einen kurzen Tipp.


    Workaday .NET - Blog
  •  04-17-2012, 7:29 224179 Antwort zu 224178

    AW: httpHandler reagiert lokal, auf dem Server aber nicht

    Guten Morgen,

    du musst auf dem Server im IIS die Dateitypen, die du vom Handler "behandeln" lassen willst noch registrieren. Dafür musst du im IIS auf die Eigenschaften deiner Webseite, dann auf Basisverzeichnis und dort auf Konfigurieren gehen. Im erscheinenden Dialog musst du alle Erweiterungen hinzufügen. Dabei musst du als ausführbare Datei die aspnet_isapi.dll von deiner Framework-Version wählen. (Normalerweise in C:\WINDOWS\Microsoft.NET\Framework\xxxxxxx).

    Viele Grüße
    Andreas
  •  04-17-2012, 8:37 224181 Antwort zu 224179

    AW: httpHandler reagiert lokal, auf dem Server aber nicht

    Guten Morgen,

    vielen Dank. Ich hatte gehofft, dass ich diesen Schritt nicht machen muss, denn irgendeine Dateiendung vergesse ich sicher. Wie macht es denn der Development Server vom Visual Studio, sind da letztendlich auch nur alle Dateiendungen registriert, oder läuft es da anders?

    Workaday .NET - Blog
  •  04-17-2012, 16:37 224186 Antwort zu 224181

    AW: httpHandler reagiert lokal, auf dem Server aber nicht

    Hallo artzuk,

    das würde ich auch gerne mal wissen. Meine Vermutung ist, dass der Developmend Server sich die Infos aus der web.config zieht. Warum das beim IIS und dem 2k3 nicht passiert weiß ich nicht. Ich vermute eine spätere Version des IIS wird dies sicherlich können, hatte ich aber noch nicht in den Fingern.

    Aber vielleicht kann sich dazu noch jemand äußern, der das weiß?

    Viele Grüße

    Andreas

  •  04-23-2012, 10:34 224205 Antwort zu 224186

    AW: httpHandler reagiert lokal, auf dem Server aber nicht

    Scheinbar will keiner Licht ins Dunkle bringen :) Aber soll erstmal egal sein, die Lösung hat erstmal funktioniert und solang keiner neue Dateiendungen vergisst, ist alles in Ordnung.

    Workaday .NET - Blog
  •  04-23-2012, 13:09 224207 Antwort zu 224205

    AW: httpHandler reagiert lokal, auf dem Server aber nicht

    Hi,
    artzuk:
    Scheinbar will keiner Licht ins Dunkle bringen :) Aber soll erstmal egal sein, die Lösung hat erstmal funktioniert und solang keiner neue Dateiendungen vergisst, ist alles in Ordnung.

    IIS 6 ist leider nicht in der Lage, das dynamisch über die web.config zu handlen. Mit IIS 7 (Windows Vista, 7 und 2008 bzw. 2008 R2) kann man das selbst machen. Bei IIS 6 ist es zwingend, dass Du die Dateiendungen anlegst und zuweist. Einzige Alternative wäre ein Wildcardmapping. Schau mla hier, da ist das beschrieben (geht zwar um MVC, ist vom Prinzip her aber dasselbe)

    http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx



    --
    Gruß, Stefan Falz
    Microsoft MVP - Visual Developer ASP/ASP.NET
    ASP.NET Consulting, Development, Coaching

    ASP.NET Zone - Leitfaden für gute Postings

    Xtopia 2008 - Gewinnspiel / Expression Studio und Xtopia Eintrittskarten zu gewinnen
  •  05-02-2012, 8:58 224215 Antwort zu 224207

    AW: httpHandler reagiert lokal, auf dem Server aber nicht

    Ah, danke :)

    Workaday .NET - Blog
  •  05-16-2012, 20:52 224297 Antwort zu 224215

    AW: httpHandler reagiert lokal, auf dem Server aber nicht

    <system.webServer>

    <modules runAllManagedModulesForAllRequests="true" />

    <handlers>

    <add name="ASPstaticHandler" path="*" verb="GET,HEAD" type="System.Web.StaticFileHandler"/>

    </handlers>

    </system.webServer>


    funktioniert nicht? Ich bilde mir ein, so etwas ähnliches schon unter iis6 verwendet zu haben.
Als RSS Feed in XML ansehen
Powered by Community Server (Commercial Edition)