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?
betaou construção noturna ?