Ich habe diesen Code innerhalb eines Anforderungshandhabungsverfahrens eines ApiController:Muss ich eine HttpResponseException von Request.CreateResponse() entfernen?
if (uri != null)
{
HttpResponseMessage r = Request.CreateResponse(HttpStatusCode.Redirect);
r.Headers.Location = uri;
throw new HttpResponseException(r);
}
Das mögliche Problem besteht darin, dass „r“ wird nie angeordnet (in meinem Code zumindest).
Ich könnte dies in eine Verwendung wickeln, aber dann würde nicht "r" entsorgt werden, bevor die Antwort an den Client gestreamt wird?
Was ist der richtige Weg, damit umzugehen?
Es ist interessant, dass sie ihre Klasse auf diese Weise strukturieren würde. Ich konnte nichts hilfreiches in den Dokumenten finden, aber Sie können einfach [diesen Konstruktor] (http://msdn.microsoft.com/en-us/library/hh835324 (v = vs.118) .aspx) verwenden ein Statuscode stattdessen? –
"würde nicht zu früh entsorgt werden?" Zu früh für was genau? – spender
@spender, ich denke, das OP gibt an, dass es entsorgt werden würde, bevor die Antwort an den Client gestreamt werden könnte. –