Pregunta

¿Cómo simular un error de vuelta al navegador WebException 304 si estoy usando HttpListener?

Esto se he recibido una solicitud a mi HttpListener, y luego obtuvo el HttpListenerContext, a continuación, desde este punto ¿cómo me imitan / arreglos para un HTTP "304 Not Modified" de respuesta sea enviado efectivamente de vuelta al navegador a través de la HttpListenerContext .¿respuesta?

EDIT:

He intentado lo siguiente embargo consigo un error al intentar copiar WebException.Status a HttpWebResponse.StatusCode (El código de estado debe ser exactamente tres dígitos). Cualquier ideas sobre cómo corregir esto?

    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();

gracias

¿Fue útil?

Solución

Creo que tengo con:

    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();
    }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top