3 Stimmen

Webresource.axd? - 500 interner Serverfehler

Ich versuche, ein Dateiupload-Steuerelement aus der Obout-Steuerungsbibliothek zu verwenden, ich mag es wirklich, und denke, dass seine ganz glatt ohne Flash!..

Ich habe das gesamte Installationsprogramm heruntergeladen, mit den Einstellungen in den Beispielen gespielt und die Steuerung genau so eingestellt, wie ich es wollte.

Ich habe eine brandneue Webanwendung in vs2008 erstellt und die web.config, dlls und Ordner mit Stil-Code, sowie die Aspx-Seite, die ich gezwickt hatte, um mir die gewünschte Ausgabe zu geben enthalten.

Ich habe das neue Projekt erstellt und ausgeführt, das Steuerelement wurde geladen und funktioniert einwandfrei.


Jetzt möchte ich diese in das bereits vorhandene Projekt verwenden, die ich gearbeitet habe, so kopiert ich die web.config-Werte, die Dlls und die Ordner mit dem Stil-Code und die Aspx-Seite, die ich gezwickt.

Ich habe sie an denselben Stellen platziert wie das andere Projekt, es erstellt und die Seite aufgerufen. alles geladen, aber wenn ich auf eine Schaltfläche klickte, bekam ich einen webresource.axd-Fehler, 2 tatsächlich, beide mit Verschlüsselung am Ende.

nach etwas Forschung zu tun, sieht es aus wie die webresource.axd kann verwendet werden, um dynamisch Javasript und css-Dateien etc. zu laden. soo meine Vermutung an dieser Stelle ist die Steuerung verwendet dies als eine versteckte Möglichkeit, Javascript-Dateien, die es benötigt... und seine Ausfälle auf diese enthält... was mich verwirrt.

Ich habe alles aus meinem Projekt entfernt, und es ist immer noch fehlgeschlagen, fand ich einen Artikel, der erklärte, dass es die iis-Konfiguration der Website sein könnte, so dass ich überprüft, ich habe die Zuordnung zur .net 2.0 Lib-Datei, mit der axd-Erweiterung... so bezweifle ich, dass das das Problem war, jedoch habe ich löschen und neu erstellen die iis-Site... und es funktioniert immer noch nicht...

Ich habe diese Zeile auch in die Webkonfiguration aufgenommen.

<add verb="GET" path="WebResource.axd" type="System.Web.Handlers.AssemblyResourceLoader" validate="true"/>

Auch dies schien nicht zu helfen.

weiß jemand, wo ich damit hingehen kann?...

EDIT: ich bin in der ereignisanzeige auf dies gestoßen

Event code: 3005 
Event message: An unhandled exception has occurred. 
Event time: 05/05/2009 2:38:16 PM 
Event time (UTC): 05/05/2009 6:38:16 PM 
Event ID: 8579dbce2f5844169b1740bb95ebffb1 
Event sequence: 8 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/1/Root/SVN_WORKSPACE/WWWROOT/WorkEstimateSystem-12-128860222914549340 
    Trust level: Full 
    Application Virtual Path: /SVN_WORKSPACE/WWWROOT/WorkEstimateSystem 
    Application Path: c:\inetpub\wwwroot\SVN_WORKSPACE\WWWROOT\WorkEstimateSystem\ 
    Machine name: GREGE6500 

Process information: 
    Process ID: 2276 
    Process name: aspnet_wp.exe 
    Account name: GREGE6500\ASPNET 

Exception information: 
    Exception type: HttpException 
    Exception message: Session state is not available in this context. 

Request information: 
    Request URL: http://localhost/SVN_WORKSPACE/WWWROOT/WorkEstimateSystem/WebResource.axd?d=gPWI1Nyst2kh_ORsvV-AHCh4GSmizSjDuHRCpBgAKBsmi1Zr6e44K950Zcfsdc4p2GuNTPmRl4yAADV0USSNLFQQ7sk-iY1WVt4JJWJE_yg1&t=633771228432707325 
    Request path: /SVN_WORKSPACE/WWWROOT/WorkEstimateSystem/WebResource.axd 
    User host address: 127.0.0.1 
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: GREGE6500\ASPNET 

Thread information: 
    Thread ID: 8 
    Thread account name: GREGE6500\ASPNET 
    Is impersonating: False 
    Stack trace:    at System.Web.HttpApplication.get_Session()
   at GlobalClass.CURRENT_EMPLOYEE_ID()
   at GlobalClass.checkLogin(String pagerequested)
   at GlobalClass.Application_OnPostRequestHandlerExecute(Object sender, EventArgs e)
   at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Custom event details: 

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

die global.asax hat einige Session Start- und Endfunktionen sowie Anwendungsstart- und Endfunktionen. gibt es eine Möglichkeit, einfach zu sagen, wenn die Anfrage von einem axd kommt, etwas anderes tun oder diese benutzerdefinierten Funktionen nicht ausführen?

FIXED:

innerhalb der Seite global.asax.

    Sub Application_OnPostRequestHandlerExecute(ByVal sender As Object, ByVal e As EventArgs)
select case requestedPageName
   case "webResource.axd"
    exit sub

das hat's gebracht!

5voto

David Punkte 33347

Die Methode "Application_OnPostRequestHandlerExecute" wird für jede Anfrage ausgeführt, die von .Net verarbeitet wird. Dies schließt "webresource.axd" ein. In dieser Methode wird geprüft, ob die aktuelle URL "webresource.axd" lautet. Wenn dies der Fall ist, darf die Sitzung nicht verwendet werden.

0 Stimmen

Danke david! das ist super. ich wünschte, ich hätte meine Ereignisprotokolle früher überprüft!!!

0 Stimmen

"Prüfen Sie, ob die aktuelle URL "webresource.axd" lautet. Wenn ja, dann die Sitzung nicht verwenden" Können Sie das bitte näher erläutern! Vielen Dank!

0 Stimmen

@Soni: Sehen Sie sich den bearbeiteten Teil der Frage an. Greg hat das Auslösen der Sitzungsmodule durch Hinzufügen von Code in die Global.asax verhindert.

0voto

Soenhay Punkte 3758

Ich verwende ein Farpoint Spread, das nur eine Seite mit vielen Zeilen anzeigt. Hier ist die c#-Version von dem, was ich zuerst versucht habe (es hat nicht funktioniert):

Global.asax:
    protected void Application_OnPostRequestHandlerExecute(object sender, EventArgs e  )
    {
        String requestedPageName = VirtualPathUtility.GetFileName(Request.FilePath);
        switch (requestedPageName)
        {
            case "WebResource.axd":
                return;
        }
    }

Die Lösung unter diesem Link hat bei mir funktioniert, aber ich musste die Zahl höher setzen: http://www.acumen-corp.com/Blog/tabid/298/EntryId/8/ASP-NET-Error-ThrowIfMaxHttpCollectionKeysExceeded.aspx

Web.Config:
   <appSettings>
        <add key="aspnet:MaxHttpCollectionKeys" value="5000" />
   </appSettings>

Dieser Beitrag verwendet die gleiche Lösung: Fehler 'Operation ist aufgrund des aktuellen Zustands des Objekts nicht gültig' beim Postback

0voto

HolaJan Punkte 820

In meinem Fall gab es im Webverzeichnis Unterordner namens "ScriptResource.axd" et "Telerik.Web.UI.WebResource.axd" mit einer web.config-Datei. Die Lösung war, diese Unterordner zu löschen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X