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