Httplistener - Как отправить webexception http 304 "не изменена" ошибка обратно в браузер?
-
25-09-2019 - |
Вопрос
Как я могу имитировать ошибку WebException 304 обратно в браузер, если я использую httplistener?
То есть я получил запрос к моему httplistener, а затем получил httplistenercontext, а затем с этого момента, как бы я имитировать / организовать для http "304 не модифицированного" ответа, который будет эффективно отправлен обратно в браузер через httplistenercontext.response?
РЕДАКТИРОВАТЬ:
Я попробовал следующее, однако я получаю ошибку, пытаясь скопировать webexception.status на httpwebresponse.statuscode (код состояния должен быть ровно тремя цифрами). Любые идеи о том, как исправить это?
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();
Спасибо
Решение
Я думаю, что у меня есть это с:
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();
}
Не связан с StackOverflow