Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[ASP][C#] pb avec aspxerrorpath

1 réponse
Avatar
jmclej
Bonjour,

Voici une partie de mon Global.asax.cs :

Code:

protected void Application_Error(Object sender, EventArgs e)
{

String sError =
Server.GetLastError().GetBaseException().Message;
Context.Response.Redirect("ErrorViewer.aspx?" + "Error=" +
HttpUtility.UrlEncode(sError));
}



et de mon web.config :

Code:

<customErrors mode="On" defaultRedirect="ErrorViewer.aspx"/>



et enfin de la page ErrorViewer.aspx.cs :

Code:

protected System.Web.UI.WebControls.Label Label1;

private void Page_Load(object sender, System.EventArgs e)
{
if (Context.Request.Params["Error"] != null)
{
String ErrorMessage =
HttpUtility.UrlDecode(Context.Request.Params["Error"]);
if (ErrorMessage.StartsWith("Login failed") ||
ErrorMessage.StartsWith("Invalid authorization
specification"))
{
Context.Response.Redirect("Default.aspx");
}
else
{
Label1.Text = ErrorMessage;
}
}
else
{
Label1.Text = "Unknown error.";
}
}




Sur ma machine de développement et d'intégration, lorsque j'ai une
erreur, je suis bien redirigé vers Citation:
http://server/MyWebSite/ErrorViewer.aspx?Error=Attempt+to+insert+duplicate+key#edit

Par contre, en production je suis redirigé vers Citation:
http://server/MyWebSite/ErrorViewer.aspx?aspxerrorpath=/MyWebSite/TranscoDealingCenter.aspx#edit

Sachant que TranscoDealingCenter.aspx est la page à partir de laquelle
a été générée l'erreur.
Je ne comprends donc pas le comportement que j'ai en production. J'ai
vérifié et il semble que le compte ASPNET ait les même droits sur tous
les environnements, il fait parti du même groupe d'utilisateur. Il
semble pourtant qu'il y ait une différence de paramétrage du serveur,
mais je n'ai absolument aucune idée de laquelle. En effet, dans un cas
je passe bien dans le Application_Error du global.asax sauf en
production...
Merci de votre aide.
Julien

1 réponse

Avatar
Paul Bacelar
Commencez par avoir une seule mécanique de récupération d'erreur ou, tout du
moins, qu'elles soient identiques.

Vous n'aurez plus à vous soucier par la suite ni de la configuration
logiciel ni des versions des runtimes.
--
Paul Bacelar

"julien" wrote in message
news:
Bonjour,

Voici une partie de mon Global.asax.cs :

Code:

protected void Application_Error(Object sender, EventArgs e)
{

String sError > Server.GetLastError().GetBaseException().Message;
Context.Response.Redirect("ErrorViewer.aspx?" + "Error=" +
HttpUtility.UrlEncode(sError));
}



et de mon web.config :

Code:

<customErrors mode="On" defaultRedirect="ErrorViewer.aspx"/>



et enfin de la page ErrorViewer.aspx.cs :

Code:

protected System.Web.UI.WebControls.Label Label1;

private void Page_Load(object sender, System.EventArgs e)
{
if (Context.Request.Params["Error"] != null)
{
String ErrorMessage > HttpUtility.UrlDecode(Context.Request.Params["Error"]);
if (ErrorMessage.StartsWith("Login failed") ||
ErrorMessage.StartsWith("Invalid authorization
specification"))
{
Context.Response.Redirect("Default.aspx");
}
else
{
Label1.Text = ErrorMessage;
}
}
else
{
Label1.Text = "Unknown error.";
}
}




Sur ma machine de développement et d'intégration, lorsque j'ai une
erreur, je suis bien redirigé vers Citation:



http://server/MyWebSite/ErrorViewer.aspx?Error=Attempt+to+insert+duplicate+key#edit

Par contre, en production je suis redirigé vers Citation:



http://server/MyWebSite/ErrorViewer.aspx?aspxerrorpath=/MyWebSite/TranscoDealingCenter.aspx#edit

Sachant que TranscoDealingCenter.aspx est la page à partir de laquelle
a été générée l'erreur.
Je ne comprends donc pas le comportement que j'ai en production. J'ai
vérifié et il semble que le compte ASPNET ait les même droits sur tous
les environnements, il fait parti du même groupe d'utilisateur. Il
semble pourtant qu'il y ait une différence de paramétrage du serveur,
mais je n'ai absolument aucune idée de laquelle. En effet, dans un cas
je passe bien dans le Application_Error du global.asax sauf en
production...
Merci de votre aide.
Julien