tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
846
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Thomas D Thomas D ist offline Mitglied Brokat
    Registriert seit
    Dec 2006
    Ort
    Linz
    Beiträge
    311
    Hallo!

    Ich möchte über eine Silverlight-Anwendung auf einen ASP.NET-Handler zugreifen. Der Code sieht dabei wie folgt aus (nur die wesentlichen Teile daraus):

    Code :
    1
    2
    3
    4
    5
    
    private void LayoutRoot_Loaded(object sender, RoutedEventArgs e)
    {
        WebClient wc = new WebClient();
        wc.UploadStringAsync(new Uri ("http://localhost/test/test.aspx"), "string");
    }

    Der ASP.NET-Handler nennt sich test.aspx und beinhaltet derzeit noch keinen Code (nur das von Visual Studio vorgegebene Layout). Wenn ich das ganze nun auf dem IIS 5.1 publishe, dann wird der Handler allerdings nicht aufgerufen, was mir ein Blick in die IIS-Logfiles verdeutlicht:

    Code :
    1
    2
    3
    4
    
    14:19:01 127.0.0.1 GET /test/TestTestPage.html 200
    14:19:01 127.0.0.1 GET /test/Silverlight.js 200
    14:19:03 127.0.0.1 GET /test/ClientBin/Test.xap 200
    [B]14:19:11 127.0.0.1 POST /test/test.aspx 500[/B]

    Wenn ich die Page im internen ASP.NET-Development Server ausführe, dann klappt freilich alles ohne Probleme. Vermutlich sind die Berechtigungen im IIS nicht passend eingestellt, sodass der POST-Aufruf unterdrückt wird, doch im Konfigurationsbereich sind für ".ashx" eh all die folgenden Verben angegeben: "GET,HEAD,POST,DEBUG".

    Eventuell könnte ich das ganze aber dadurch beheben, indem ich noch einen zusätzlichen Berechtigungseintrag in Web.config mache. Leider kenne ich mich diesbezüglich noch nicht wirklich aus und wollte daher fragen, ob mir einer der mit ASP.NET besser bewandten hier im Forum weiterhelfen könnte, damit auch der IIS den im Development Server einwandfrei funktionierenden Code korrekt interpretiert.
     

  2. #2
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Hi.

    Interessant wäre die Fehlermeldung. Hast du Zugriff aufs EventLog am Server?

    Ausserdem: EIn Handler hätte die Endung .ashx, aber dein Eintrag im Log lautet "test.aspx".

    Wenn du keinen Zugriff aufs EventLog hast, stell in der web.config die customErrors auf "Off", und mach einen Zugriff auf das Form im Browser und schau mal was dabei steht.

    Arbeitest du mit CodeBehind Code und einem Assembly im Bin Ordner?
    Wenn ja: ist das Verzeichnis Test ein virtuelles Verzeichnis bzw. eigene Applikation? Wenn nein: Stell das mal um, oder lege das Bin Verzeichnis nach /bin anstatt /test/bin, und kopiere auch die web.config nach /.

    lg, Alex
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  3. #3
    Thomas D Thomas D ist offline Mitglied Brokat
    Registriert seit
    Dec 2006
    Ort
    Linz
    Beiträge
    311
    Zitat Zitat von Alexander Schuc Beitrag anzeigen
    Interessant wäre die Fehlermeldung. Hast du Zugriff aufs EventLog am Server?

    Ausserdem: EIn Handler hätte die Endung .ashx, aber dein Eintrag im Log lautet "test.aspx".
    Stimmt, da habe ich mich beim Aufruf glatt verschrieben. Habe das ganze jetzt geändert, die Fehlermeldung bleibt aber im Wesentlichen dieselbe. Habe das ganze nun auch im IIS 6 unter Vista getestet und dabei folgende Ausgabe erhalten:

    Code :
    1
    
    2009-02-19 15:30:10 ::1 POST /test/test.ashx - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.0;+Trident/4.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.21022;+OfficeLiveConnector.1.3;+OfficeLivePatch.0.0;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) [B]500 0 0 15[/B]

    Wofür steht denn hier die 15? Handelt es sich hierbei gar um eine nähere Beschreibung meines Fehlers?

    Zitat Zitat von Alexander Schuc Beitrag anzeigen
    Wenn du keinen Zugriff aufs EventLog hast, stell in der web.config die customErrors auf "Off", und mach einen Zugriff auf das Form im Browser und schau mal was dabei steht.
    Wenn es sich bei dem Begriff "EventLog" um etwas anderes handelt, als ich bisher gepostet habe, bitte sagen. Ich sollte eigentlich auf alles Zugriff haben, da ich lokal arbeite.

    Zitat Zitat von Alexander Schuc Beitrag anzeigen
    Arbeitest du mit CodeBehind Code und einem Assembly im Bin Ordner?
    Wenn ja: ist das Verzeichnis Test ein virtuelles Verzeichnis bzw. eigene Applikation? Wenn nein: Stell das mal um, oder lege das Bin Verzeichnis nach /bin anstatt /test/bin, und kopiere auch die web.config nach /.
    Sorry, aber das verstehe ich jetzt leider nicht ganz: Habe die Silverlight-Applikation ganz normal unter Visual Studio ins IIS-Rootverzeichnis gepublisht. Dabei sollte eigentlich alles laufen, nur irgendwie scheint die ASP-Sache in der derzeitigen IIS-Konfiguration (keine Änderung nach Neuinstallation) dies zu blocken. Wie schon erwähnt, denke ich, dass die Web.config irgendwie modifiziert gehört. Nur wie ist mir bislang leider noch nicht ganz klar ...
     

  4. #4
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Zitat Zitat von Thomas D Beitrag anzeigen
    Wenn es sich bei dem Begriff "EventLog" um etwas anderes handelt, als ich bisher gepostet habe, bitte sagen. Ich sollte eigentlich auf alles Zugriff haben, da ich lokal arbeite.
    Ja, ich meine die Ereignisanzeige in der Computerverwaltung. Dort sollte der genaue Fehler vermerkt sein. Schau bitte mal nach. (Beim Punkt "Anwendung". Als Quelle sollte 'ASP.net ..' stehen)


    Zitat Zitat von Thomas D Beitrag anzeigen
    Sorry, aber das verstehe ich jetzt leider nicht ganz: Habe die Silverlight-Applikation ganz normal unter Visual Studio ins IIS-Rootverzeichnis gepublisht. Dabei sollte eigentlich alles laufen, nur irgendwie scheint die ASP-Sache in der derzeitigen IIS-Konfiguration (keine Änderung nach Neuinstallation) dies zu blocken. Wie schon erwähnt, denke ich, dass die Web.config irgendwie modifiziert gehört. Nur wie ist mir bislang leider noch nicht ganz klar ...
    Hab jetzt kein solches Projekt zur Hand, aber scheinbar liegt ja alles im Ordner "test", also auch die web.config.
    Geh mal zur Verwaltung vom IIS, schau nach ob der Ordner "Test" ein Virtuelles Verzeichnis ist, wenn nicht mach ein neues mit dem selben Namen und auf den selben Pfad.
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  5. #5
    Thomas D Thomas D ist offline Mitglied Brokat
    Registriert seit
    Dec 2006
    Ort
    Linz
    Beiträge
    311
    Nach ewigem Debuggen hat sich herausgestellt, dass einerseits wie vermutet ein paar Einträge in der Web.config nicht korrekt waren, andererseits ich das Projekt als Anwendung hinzufügen musste. Damit geht es im IIS 6 unter Vista. In XP kriege ich es zwar weiterhin nicht zum Laufen, da es dort nur die Möglichkeit gibt, das Projekt als Virtuelles Verzeichnis hinzufügen, aber immerhin klappt es unter Vista. Danke auf jeden Fall für deine Hilfestellung - die hat mir sehr geholfen !
     

  6. #6
    Thomas D Thomas D ist offline Mitglied Brokat
    Registriert seit
    Dec 2006
    Ort
    Linz
    Beiträge
    311
    Worin besteht eigentlich der konkrete Unterschied, ob ich ein Verzeichnis als Anwendung oder als Virtuelles Verzeichnis hinzufüge? Kann es sein, dass diese beiden Methoden sich dahingehend unterscheiden, dass bei der Anwendung auch noch die Web.config-Datei miteinbezogen wird und beim Virtuellen Verzeichnis nicht?

    Versuche nämlich das ganze Projekt, das im IIS 7 unter Vista läuft, nun auch auf den IIS 6 unter Windows 2003 Server zum Laufen zu bekommen, doch scheitere weiterhin daran, dass es hier keine Möglichkeit gibt, meine Silverlight-Applikation als Anwendung hinzuzufügen. Wenn ich wüsste, worin der zentrale Unterschied zwischen diesen beiden Hinzufügetechniken besteht, dann sollte es mir eigentlich auch am IIS 6 gelingen. Jemand eine Idee? ...
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 25.09.08, 12:28
  2. Antworten: 5
    Letzter Beitrag: 06.04.08, 14:08
  3. Antworten: 2
    Letzter Beitrag: 15.11.05, 09:10
  4. onchange Handler funkt nicht {MX 2004}
    Von skatos im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 08.06.04, 17:02
  5. image handler funktionieren nicht richtig
    Von Rodney im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 29.10.03, 10:06