Возврат кода состояния http из контроллера Web Api
Я пытаюсь вернуть код состояния 304, не модифицированный для метода GET, в контроллере веб-API.
Единственный способ, которым я преуспел, был чем-то вроде этого:
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;
}
}
Проблема здесь состоит в том, что это не исключение, оно просто не изменено, поэтому кэш клиента исправен. Я также хочу, чтобы возвращаемый тип был User (как показывают все примеры веб-API с GET), а не HttpResponseMessage или что-то в этом роде.