我在这里按解决方案实施了压缩:
但是,我的删除Web API引发了异常:
public HttpResponseMessage Delete(int id)
{
if (_repo == null)
{
_uow = DependencyResolver.Current.GetService<TPS.Data.Can.IUnitOfWork>();
_repo = _uow.TradeSpendRepository;
}
if (!_repo.Delete(id))
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
_uow.Save();
return Request.CreateResponse(HttpStatusCode.OK);
}
CompressedContent的构造函数中抛出异常,因为content为null:
if (content == null)
{
throw new ArgumentNullException("content");
}
我想回复状态代码是不够的!什么是防止此异常的最佳方法?
答案 0 :(得分:0)
由于此处没有内容,因此无需在此处创建CompressedContent
,因此您应在消息处理程序中添加其他检查。
示例:
if (response.Content != null && response.RequestMessage.Headers.AcceptEncoding != null)
{
string encodingType = response.RequestMessage.Headers.AcceptEncoding.First().Value;
response.Content = new CompressedContent(response.Content, encodingType);
}