Frage

Wie imitieren ich einen WebException 304 Fehler zurück zum Browser, wenn ich verwende Httplistener?

Das ist Ich habe eine Anfrage an meine Httplistener empfangen, und dann erhalten die HttpListenerContext, dann von diesem Punkt, wie würde ich Mimik / für einen HTTP „304 Not Modified“ Antwort arrangieren effektiv an den Browser über die zurückgeschickt werden HttpListenerContext .Antwort?

EDIT:

Ich habe versucht, die folgenden aber ich erhalte eine Fehlermeldung versucht WebException.Status zu HttpWebResponse.StatusCode kopieren (Der Statuscode muss genau drei Ziffern lang sein). Alle Ideen, wie dies zu korrigieren?

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

Dank

War es hilfreich?

Lösung

Ich glaube, ich habe es mit:

    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();
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top