Tôi đang cố gắng trả lại mã trạng thái 304 không được sửa đổi cho phương thức GET trong bộ điều khiển api web.
Cách duy nhất tôi thành công là một cái gì đó như thế này:
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;
}
}
Vấn đề ở đây là nó không phải là ngoại lệ, chỉ là nó không được sửa đổi nên bộ đệm của máy khách vẫn ổn. Tôi cũng muốn loại trả về là Người dùng (vì tất cả các ví dụ api trên web hiển thị với GET) không trả về HttpResponseMessage hoặc đại loại như thế này.
new HttpResponseMessage(HttpStatusCode.NotModified)
? Nó không hoạt động?
beta
hoặc xây dựng hàng đêm ?