Ich versuche, einen Statuscode von 304 zurückzugeben, der für eine GET-Methode in einem Web-API-Controller nicht geändert wurde.
Der einzige Weg, auf dem ich Erfolg hatte, war ungefähr so:
public class TryController : ApiController
{
public User GetUser(int userId, DateTime lastModifiedAtClient)
{
var user = new DataEntities().Users.First(p => p.Id == userId);
if (user.LastModified <= lastModifiedAtClient)
{
throw new HttpResponseException(HttpStatusCode.NotModified);
}
return user;
}
}
Das Problem hierbei ist, dass es keine Ausnahme ist. Es wird nur nicht geändert, sodass der Client-Cache in Ordnung ist. Ich möchte auch, dass der Rückgabetyp ein Benutzer ist (wie alle Beispiele für Web-APIs mit GET zeigen) und nicht HttpResponseMessage oder ähnliches zurückgibt.
new HttpResponseMessage(HttpStatusCode.NotModified)
? Funktioniert es nicht
beta
oder bauen Sie jede Nacht ?