我正在尝试按照此截屏视频中的描述(约1分钟)筹集HttpResponseException
throw new HttpResponseException(HttpStatusCode.Unauthorized);
但该应用程序无法编译,因为它会引发以下错误:
The best overloaded method match for 'System.Web.Http.HttpResponseException.HttpResponseException(System.Net.Http.HttpResponseMessage)' has some invalid arguments
msdn上的文档说它有一个接受HttpResponseMessage
枚举的构造函数。 http://msdn.microsoft.com/en-us/library/hh835324%28v=vs.108%29.aspx
我错过了什么?
由于
答案 0 :(得分:11)
如果你正在使用RC,这已经改变了。尝试:
throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Unauthorized));
答案 1 :(得分:6)
我自己刚刚遇到这个问题,我很高兴看到smlync提供的答案,但令人失望的是看到这个案例中的API变得更加冗长!恕我直言,以下内容倾向于描述'怪异',特别是当这个例外(最重要的是)多次填满每个控制器时:
throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
我可能会使用它,也许你们中的一些人会发现它也很有用:
throw new Http404NotFoundException();
根据您的意愿放置以下内容:
public class Http404NotFoundException : HttpResponseException
{
public Http404NotFoundException()
: base(new HttpResponseMessage(HttpStatusCode.NotFound)) { }
}
这不是更清洁,深受喜爱的ASP.NET WebApi团队吗?如果仅用于此状态代码,则可能会引入其他一些非常常见的状态代码。