Saya mencoba mengembalikan kode status 304 yang tidak dimodifikasi untuk metode GET di pengontrol api web.
Satu-satunya cara saya berhasil adalah sesuatu seperti ini:
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;
}
}
Masalahnya di sini adalah itu bukan pengecualian, hanya saja tidak dimodifikasi sehingga cache klien OK. Saya juga ingin jenis kembali menjadi Pengguna (karena semua contoh api web menunjukkan dengan GET) tidak mengembalikan HttpResponseMessage atau sesuatu seperti ini.
new HttpResponseMessage(HttpStatusCode.NotModified)
? Apakah itu tidak berhasil?
beta
atau membangun malam ?