我试图返回状态304,但未在网络api控制器中为GET方法修改。
我成功的唯一方法是这样的:
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(如所有Web API示例使用GET所示)不返回HttpResponseMessage或类似的内容。
new HttpResponseMessage(HttpStatusCode.NotModified)
呢?不行吗
beta
还是每晚构建?