Estou tentando retornar um código de status 304 não modificado para um método GET em um controlador de API da web.
A única maneira de obter sucesso foi algo assim:
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;
}
}
O problema aqui é que não é uma exceção, apenas não é modificado para que o cache do cliente esteja OK. Também quero que o tipo de retorno seja um Usuário (como todos os exemplos de API da Web mostram com GET) não retorne HttpResponseMessage ou algo assim.
new HttpResponseMessage(HttpStatusCode.NotModified)
? Isso não funciona?
beta
ou construção noturna ?