web-dev-qa-db-de.com

Sys.WebForms.PageRequestManagerServerErrorException: Beim Verarbeiten der Anforderung auf dem Server ist ein unbekannter Fehler aufgetreten. "

Ich habe ein paar Update-Panels und Jquery-Registerkarten auf der Seite. Außerdem lade ich einige Benutzersteuerelemente in Update-Panels. Nachdem der Benutzer einige Minuten gewartet hat (die Zeit wurde nicht etwa 40 Minuten überprüft). Wenn der Benutzer eine Anfrage vom Absenden-Button sendet, wird der Fehler angezeigt. 

'Sys.WebForms.PageRequestManagerServerErrorException:
Sys.WebForms.PageRequestManagerServerErrorException: An unknown 
error occurred while processing the request on the server. The status 
code returned from the server was: 0' when calling method: 
[nsIDOMEventListener::handleEvent]

Ich kann dieses Problem nicht beheben, um es zu beheben. Ich bin mir aber sicher. Dies wird von Ajax verursacht. Gurus, wenn Sie eine Lösung kennen. Lass es mich wissen, bitte.

32
James123

Dieses Problem tritt manchmal auf, wenn Sie ein Steuerelement als AsyncPostbackTrigger in mehreren Update-Bereichen registriert haben.

Wenn dies nicht das Problem ist, fügen Sie nach der Deklaration des Skriptmanagers Folgendes hinzu:

<script type="text/javascript" language="javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    function EndRequestHandler(sender, args){
        if (args.get_error() != undefined){
            args.set_errorHandled(true);
        }
    }
</script>

Hier werden einige weitere Lösungen diskutiert: http://forums.asp.net/t/1066976.aspx/9/10

28
James Johnson

Ich hatte dieses Problem und verbrachte Stunden damit, es zu beheben.

Die als Antwort angekreuzte Lösung wird den Fehler nicht beheben, sondern nur beheben.

Die beste Methode ist, die Protokolldateien IIS zu überprüfen, und der Fehler sollte vorhanden sein. Es scheint, dass das Update-Panel den echten Fehler einkapselt und als "Javascript-Fehler" ausgibt.

Zum Beispiel bestand mein Fehler darin, dass ich vergessen hatte, eine Klasse [Serializable] zu erstellen. Obwohl dies lokal gut funktionierte, funktionierte es bei der Bereitstellung auf dem Server nicht.

27
Scriptworks

Ich habe diesen Fehler erhalten, als sich meine Schaltfläche in der GridView in einem UpdatePanel befand ... Deaktivieren meines Codes. Ich habe festgestellt, dass der oben genannte Fehler auf einen anderen internen Fehler zurückzuführen ist. 

Schließlich habe ich herausgefunden, dass eines meiner TextBoxes auf der Seite XML/HTML-Inhalt hat und dieser Fehler verursacht den obigen Fehler , Wenn ich das XML/HTML-Element entfernte und den Klick-Button testete ... es funktionierte wie erwartet. 

8
RaviKumar

Einen alten Thread nicht wieder öffnen, aber diese Lösung ist auch hilfreich -

Fügen Sie validateRequest="false" in der <%@ Page-Direktive hinzu. 

Dies liegt daran, dass ASP.net Eingaben des Browsers auf gefährliche Werte überprüft. Mehr Infos in diesem Link

5
Cdeez

Bruder dieses Stück Code ist keine Lösung, ändern Sie es einfach in

<script type="text/javascript" language="javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    function EndRequestHandler(sender, args){
        if (args.get_error() != undefined){
            **alert(args.get_error().message.substr(args.get_error().name.length + 2));**
            args.set_errorHandled(true);
        }
    }
</script>

sie werden sehen, dass der Fehler vorhanden ist, aber Sie werfen ihn einfach nicht auf die Benutzeroberfläche. 

5
user1341446

Ich habe das gleiche Problem, hier gebe ich mein Problem und meine Lösung in der Hoffnung, dass dies jemandem helfen würde:

Der Empfehlung anderer Leute folgend, ging ich zum Log des Servers (in meinem Fall Windows Server 2012) in:

Systemsteuerung -> Verwaltung -> Ereignisanzeige

Dann auf der linken Seite:

Windows-Protokolle -> Anwendung:

 enter image description here

In den Warnungen habe ich die Nachricht von meiner Website gefunden und in meinem Fall war dies auf eine Nullreferenz zurückzuführen:

*Exception type: NullReferenceException 
Exception message: Object reference not set to an instance of an object.*

Und bei der im Protokoll beschriebenen Funktion habe ich ein nicht initialisiertes Objekt gefunden und das war es.

Es könnte sich also um eine Nullreferenzausnahme im Code handeln. Ich hoffe, jemand findet das nützlich, Grüße.

3
JCO9

Ich war auch mit dem gleichen Problem konfrontiert, und keines davon funktionierte. In meinem Fall wurde dies durch Hinzufügen dieser Zeilen in der Konfigurationsdatei behoben.

<appSettings>
  <add key="aspnet:MaxHttpCollectionKeys" value="100000" />
</appSettings>

<system.web.extensions>
  <scripting>   
    <scriptResourceHandler enableCompression="false" enableCaching="true"/>       
  </scripting>
</system.web.extensions> 
2
rns

@ JS5, ich hatte auch das gleiche Problem wie Sie: ImageButton verursacht Ausnahmen in UpdatePanel nur auf Produktionsserver und IE. Nach einigen Recherchen fand ich das:

Es gibt ein Problem mit ImageButtons und UpdatePanels. Das Update auf .NET 4.5 ist dort behoben. Es hat etwas mit Microsoft zu tun Die XY-Achse einer Schaltfläche wurde durch Klicken von Int auf Double geändert, damit Sie Geben Sie an, wo auf der Schaltfläche Sie geklickt haben, und es wird eine Konvertierung ausgelöst. Error.

Quelle

Ich verwende NetFramework 2.0 und IIS 6. Die vorgeschlagene Lösung bestand darin, die Kompatibilität mit IE herabzusetzen und ein Meta-Tag hinzuzufügen:

<meta http-equiv="X-UA-Compatible" content="IE=9" />

Ich habe dies über die PageLoad-Methode nur auf der Seite ausgeführt, die ich brauchte:

Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    Dim tag As HtmlMeta = New HtmlMeta()

    tag.HttpEquiv = "X-UA-Compatible"
    tag.Content = "IE=9"

    Header.Controls.Add(tag)
End Sub

Hoffe das hilft jemandem.

2
Santiago Trejo

Überprüfen Sie Ihr ApplicationEvent Log - mein Problem war Telerik RadCompression HTTP-Modul, das ich in der Web.config deaktiviert habe. 

2
PeterX

"1- Gehen Sie zur web.config Ihrer Anwendung."

"2- Fügen Sie einen neuen Eintrag unter <system.web>" hinzu

3- Suchen Sie auch das pages-Tag und setzen Sie validateRequest = False

Nur das funktioniert für mich. !!

1
Ven

Für diejenigen, die das interne IIS von Visual Studio verwenden, versuchen Sie Folgendes:

  1. Generieren Sie die Fehlermeldung.
  2. Brechen Sie den Debugger an der Fehleranzeige.
  3. Überprüfen Sie den Callstack. Sie sollten "Raise" sehen.
  4. Doppelklicken Sie auf "Erhöhen".
  5. Überprüfen Sie die Interna des 'Absender'-Parameters. Sie sehen eine '_xmlHttpRequest'-Eigenschaft.
  6. Öffnen Sie die Eigenschaft '_xmlHttpRequest'. Daraufhin wird die Eigenschaft 'response' angezeigt.
  7. Die 'response'-Eigenschaft enthält die eigentliche Nachricht.

Ich hoffe das hilft jemandem da draußen!

1
Russ Rahn

Wir waren auch mit dem gleichen Problem konfrontiert, und das Problem konnte nur auf dem Server reproduziert werden (d. H. Nicht lokal, was die Behebung noch schwieriger machte, da wir die Anwendung nicht debuggen konnten) und bei Verwendung von IE. Wir hatten eine Seite mit einem Aktualisierungsfenster und innerhalb dieses Aktualisierungsfenster einen Modalpopupextender, der auch ein Aktualisierungsfenster enthielt. Nachdem wir mehrere Lösungen getestet haben, die nicht funktionierten, beheben wir das Problem, indem Sie jede Image-Schaltfläche innerhalb des modalpopupextender durch eine Link-Schaltfläche ersetzen und darin das benötigte Image.

1
JS5

Ich hatte das gleiche Problem. Als ich einen Weg ausprobierte, stellte ich fest, dass das Update-Panel dieses Problem verursachte. Abhängig von meiner Anforderung konnte ich das Update-Panel entfernen und das Problem beseitigen. Es ist also eine mögliche Lösung für das Problem. 

1
Hash

Ich habe diesen Fehler erhalten, als ich ModalPopupExtender im Update-Panel hatte ... das Deaktivieren meines Codes. Ich habe festgestellt, dass der obige Fehler aufgrund von Updatepanel-Updatemode bedingt ist. 

0
Deepak_007

Meine Lösung für dieses Problem bestand darin, alle HTML-Markierungen zu entfernen, die sich in der Eigenschaft Text = "" einer TextBox in meinem asp.net-Code in einem Aktualisierungsfenster befanden. Wenn sich auf einer Seite mehr als ein Aktualisierungsfenster befindet, wirkt sich dies auf alle Seiten aus, wodurch es schwieriger wird, herauszufinden, in welchem ​​Fenster das Problem auftritt. Chris 'Antwort oben brachte mich dazu, dies herauszufinden, aber es ist eine sehr versteckte Antwort, aber ich denke, dass eine sehr relevante Antwort hier eine Antwort ist.

<asp:TextBox ID="bookingTBox" runat="server" ToolTip="" Width="150px" Text="<Auto Assigned>" CssClass="textboxItalicFormat"></asp:TextBox>

Der obige Code gibt diesen Fehler aus.

Die unten wird nicht.

<asp:TextBox ID="bookingTBox" runat="server" ToolTip="" Width="150px" Text="Auto Assigned" CssClass="textboxItalicFormat"></asp:TextBox>

Im zweiten Textfeldcode habe ich die <und> aus der Text = "" - Eigenschaft entfernt. Bitte versuchen Sie dies, bevor Sie Zeit damit verbringen, Zeilen mit Skriptcode usw. hinzuzufügen.

0
FlashTrev

Für mich bestand das Problem darin, dass ich einen <button> anstelle eines <asp:LinkButton>

0
Hervé Donner
<add key="aspnet:MaxHttpCollectionKeys" value="100000"/ >

Fügen Sie den obigen Schlüssel zu Web.config oder App.config hinzu, um diesen Fehler zu entfernen.

0
Akshay

Einige Male erhalten Sie aufgrund von Code HTML-Tags in einem Textfeld, beispielsweise habe ich einige Zeichen durch neue Zeile BR-Tags von HTML ersetzt, und aus Versehen habe ich sie auch in dem Text ersetzt, der in einem mehrzeiligen Textfeld angezeigt werden sollte Mein mehrzeiliges Textfeld enthielt einen neuen Zeilen-HTML-Tag BR, der aufgrund meiner Funktion zum Ersetzen von Zeichenfolgen dynamisch generiert wurde. Ich erhielt diesen JavaScript-Fehler. Da dieser HTML-Code in einem Textfeld in einem Aktualisierungsfenster angezeigt wurde, beginne ich mit diesem Fehler Also machte ich die Korrektur und alles war gut. Bevor Sie also etwas einfügen, kopieren Sie bitte Ihren Code und stellen Sie sicher, dass alle Tags ordnungsgemäß geschlossen sind und keine irrelevanten Codedaten in Textfelder oder Dropdown-Listen gelangen. Dieser Fehler ist immer auf schlecht geformte Tags und irrelevante Daten zurückzuführen.

0
user3004710

Dies ist nicht das eigentliche Problem. Wenn Sie wissen möchten, warum dies geschieht, gehen Sie bitte zur Fehlerprotokolldatei von IIS.

im Falle von Visual Studio navigieren Sie bitte zu:

C:\Users\User\Documents\IISExpress\TraceLogFiles\[your project name]\.

datei hier in absteigend absteigend ordnen und dann die erste Datei öffnen.

es wird so aussehen:

enter image description here

scrollen Sie nun nach unten, um zu sehen, dass GENERAL_RESPONSE_ENTITY_BUFFERit das eigentliche Problem ist. Jetzt lösen, das obige Problem wird automatisch gelöst.

enter image description here

0
Abhishek Suman

Das hat gut funktioniert in meinem Code .. Ich habe mein Problem gelöst .. wirklich

Fügen Sie den folgenden Code in web.config file hinzu.

<system.web>
    <httpRuntime executionTimeout="999" maxRequestLength="2097151"/>
</system.web>
0
kasim

Ich hatte dieses Problem, als ich mein Projekt auf das 4.5-Framework aufrüstete und die GridView eine leere Datenvorlage hatte. Etwas hat sich geändert und die folgende Anweisung, die zuvor die Vorlage für leere Daten zurückgegeben hat, gab jetzt die Kopfzeile zurück.

GridViewRow dr = (GridViewRow)this.grdViewRoleMembership.Controls[0].Controls[0];

Ich änderte es in unten und der Fehler ging weg und die GridView funktionierte wie erwartet.

GridViewRow dr = (GridViewRow)this.grdViewRoleMembership.Controls[0].Controls[1];

Ich hoffe das hilft jemandem.

0
Harini

Stellen Sie sicher, dass Tilde und Schrägstrich (~ /) eingefügt werden, wenn CDN das Stammverzeichnis ist. Ich denke, es ist ein Problem in IIS

0
Jok Garcia

Dieses Problem wurde für mich durch einen Datenbankzuordnungsfehler verursacht.

Ich habe versucht, einen select () - Aufruf für eine Datenquelle mit Fehlern im Code zu verwenden. Meine Steuerelemente befanden sich in einem Aktualisierungsfenster und die eigentliche Ursache wurde ausgeblendet.

Wenn Sie das Update-Panel vorübergehend entfernen können, gibt asp.net normalerweise eine nützlichere Fehlermeldung zurück.

0

Hatte dieses Problem bei der Verwendung von AsyncFileUploader in einem iFrame. Bei der Verwendung von Firefox ist ein Fehler aufgetreten. Arbeitete gut in Chrom. Anscheinend wurde entweder die übergeordnete Seite oder die iFrame-Seite nicht synchron geladen, und die übergeordnete Seite konnte die Steuerelemente auf der Iframe-Seite nicht finden. Ein einfacher Javascript-Alarm wurde hinzugefügt, der besagt, dass die Datei hochgeladen wurde. Dies gab den Steuerelementen genügend Zeit zum Laden und da die Steuerelemente verfügbar waren, wurde alles ohne Fehler geladen. 

0
user3246423

Verwenden Sie den folgenden Code in updatepanel.

<script type="text/javascript" language="javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    function EndRequestHandler(sender, args){
        if (args.get_error() != undefined){
            args.set_errorHandled(true);
        }
    }
</script>
0
yogesh Kumar

als mein Freund @RaviKumar, der oben erwähnt wurde, besteht ein Grund für das folgende Problem darin, dass einige Daten, die vom Code an die Benutzeroberfläche übertragen werden, rohe HTML-Tags enthalten, die die Anforderung ungültig machen. Ich hatte beispielsweise eine textarea und in meinem Code hatte ich den Wert festgelegt durch den Code unten 

txtAgreement.Text = Data.Agreement

Als ich die Seite kompilierte, konnte ich im HTML-Bereich ein RAW-HTML-Tag sehen. Deshalb änderte ich das Textfeld in div , auf dem innerhtml funktioniert und HTML (und nicht in HTML-Tags in element injizieren) und es funktionierte für mich

glückliche Kodierung

0
Code_Worm

die Antwort war für mich ein Rasterview-Steuerelement, das ein Vorlagenfeld enthielt, das eine Dropdown-Liste enthielt, die mit einer monströsen Anzahl auswählbarer Elemente geladen wurde. Ich ersetzte die DDL durch ein Beschriftungsfeld, dessen Daten von einer Funktion generiert werden. (Ich wollte ursprünglich die Bearbeitung von Gitternetz-Ansichten zulassen, habe aber die Bearbeitung in einem separaten Bereich vorgenommen, in dem die DDL für dieses Feld nur für diesen Datensatz angezeigt wird). hoffe das kann jemandem helfen.

0
user84867