HttpListener - comment puis-je envoyer un WebException HTTP 304 erreur « Non modifié » Retour au navigateur?
-
25-09-2019 - |
Question
Comment puis-je mimer un WebException 304 erreur au navigateur si j'utilise HttpListener?
C'est que j'ai reçu une demande à mon HttpListener, et obtient alors le HttpListenerContext, puis de ce point comment pourrais-je imiter / prendre des dispositions pour un HTTP « 304 Not Modified » réponse à être efficacement renvoyé au navigateur via le HttpListenerContext .réponse?
EDIT:
J'ai essayé ce qui suit mais je reçois une erreur en essayant de copier WebException.Status à HttpWebResponse.StatusCode (Le code d'état doit être trois chiffres exactement). Toutes les idées sur la façon de corriger?
catch (WebException ex)
{
listenerContext.Response.StatusCode = (int)ex.Status; //ERROR: The status code must be exactly three digits
listenerContext.Response.StatusDescription = ex.Message;
listenerContext.Response.Close();
Merci
La solution
Je pense que je l'ai avec:
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.ProtocolError)
{
int statusCode = (int) ((HttpWebResponse) ex.Response).StatusCode;
listenerContext.Response.StatusCode = statusCode;
listenerContext.Response.StatusDescription = ex.Message;
log("WARNING", uri, "WebException/ProtocolError: " + ex.GetType() + " - " + ex.Message);
}
else
{
log("ERROR", uri, "WebException - " + ex.GetType() + " - " + ex.Message);
}
listenerContext.Response.Close();
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow