Estoy tratando de devolver un código de estado de 304 no modificado para un método GET en un controlador de API web.
La única forma en que tuve éxito fue algo como esto:
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;
}
}
El problema aquí es que no es una excepción, simplemente no se modifica, por lo que el caché del cliente está bien. También quiero que el tipo de retorno sea un Usuario (como se muestra en todos los ejemplos de API web con GET), no devolver HttpResponseMessage o algo así.
new HttpResponseMessage(HttpStatusCode.NotModified)
? ¿No funciona?
beta
o construcción nocturna ?