2008-10-27 5 views
19

Je occasionaly obtenir la De la Microsoft kb que le code d'état popup suivant d'une application AJAX.NETSys.WebForms.PageRequestManagerServerErrorException 12031

Sys.WebForms.PageRequestManagerServerErrorException: An Unknown error occurred while processing the request on the server. The status code returned from the server was: 12031

indique un ERROR_INTERNET_CONNECTION_RESET, mais il ne dit pas ce qui était sous-jacent émettre le déclenché l'erreur en premier lieu.

Comment puis-je log/trace/etc l'erreur sous-jacente qui a généré le popup?

Répondre

15

C'est un problème d'affichage, mais pas lié à l'heure mais à la taille. Essayez de jouer avec maxRequestLength dans votre web.config.

+0

Merci de m'indiquer dans la bonne direction. J'ai finalement réussi à résoudre le problème en écrivant ViewState dans la base de données, au lieu de l'envoyer dans la page au navigateur. –

21

Si vous obtenez cela à partir d'un updatePanel, définissez EnablePartialRendering sur false dans le ScriptManager de la page, puis il devrait vous donner l'erreur réelle.

En outre, si cela ne se produit qu'occasionnellement, j'ai constaté qu'il pourrait s'agir d'un problème d'affichage, en particulier lorsque la page est longue (20 minutes environ) entre les actualisations.

Sinon, essayez quelques blocs try/catch. Ce sont des méthodes faciles.

Espérons que ça aide!

+1

"Définir EnablePartialRendering sur false" m'a aidé à trouver l'erreur, merci! – Homer

+0

m'a également aidé, merci! –

+0

Ça m'a aidé aussi - merci! –

0

parfois l'erreur se produit si vous avez ajouté un certificat SSL de serveur (https). Si le certificat n'est pas valide, il donnera cette erreur.

1

J'ai cette erreur dans UpdatePanel avec autopostback Dropdown après un grand délai (> 20 min) entre la sélection de la liste déroulante.

Essayez d'augmenter le délai d'attente de session dans web.cofig. Par exemple:

<sessionState mode="InProc" cookieless="true" timeout="720"/>; 
0

j'avais l'erreur suivante se passe sur postback:

Error: Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server.

Mais pour moi, la question est que je suis en train de convertir mon projet de ASP.NET 2.0 à ASP.NET 4.0 et J'ai eu <asp:UpdatePanel runat="server"> utilisé sur la page.

J'ai enlevé le <asp:UpdatePanel runat="server"> (pour le moment), puis couru la page pour obtenir l'erreur exacte. Qui était "Une valeur Request.Form potentiellement dangereuse a été détectée"

J'ai trouvé que même si j'ai ValidateRequest="false" sur la page, ASP.NET 4.0 vous oblige à ajouter requestValidationMode="2.0" dans la balise HttpRuntime de web.config.

<httpRuntime maxRequestLength="102400" requestValidationMode="2.0"/> 

Reference

1

ajouter<httpRuntime requestValidationMode="2.0"/>
dans web.config et YourPage.aspx set (ClientIDMode = "statique" ValidateRequest = "false")

: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::

EXEMPLE: toile.config

<?xml version="1.0"?> 
<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=169433 
    --> 
<configuration> 
    <system.web> 
    <httpRuntime requestValidationMode="2.0"/> 
    <compilation debug="true" targetFramework="4.0"> 
     <assemblies> 
     <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     </assemblies> 
    </compilation> 

    </system.web> 


    <connectionStrings> 
    <add name="WT_ZadnjiEntities" connectionString="metadata=res://*/DAL.Model.csdl|res://*/DAL.Model.ssdl|res://*/DAL.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=SATELLITE-PC;initial catalog=WT_Zadnji;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 
</configuration>