Web APIコントローラーのGETメソッドで変更されていない304のステータスコードを返そうとしています。
私が成功した唯一の方法は次のようなものでした:
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;
}
}
ここでの問題は、これは例外ではなく、変更されていないため、クライアントキャッシュに問題がないことです。私はまた、戻り値の型がユーザーである必要があります(すべてのWeb APIの例がGETで示されているように)HttpResponseMessageまたはこのようなものを返しません。
new HttpResponseMessage(HttpStatusCode.NotModified)
ますか?動かない?
beta
か、夜間ビルド?