ฉันกำลังพยายามส่งคืนรหัสสถานะ 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 หรืออะไรทำนองนี้
new HttpResponseMessage(HttpStatusCode.NotModified)
? มันใช้งานไม่ได้?
beta
หรือสร้างงานทุกคืนหรือไม่?