我想知道是否可以从WCF服务返回418。我已经尝试制作一个返回HttpResponseMessage的操作合约,但是只接受HttpStatusCode作为状态代码的参数,并且他们已经悲惨地禁止将418添加到该枚举。
有没有人有解决方案?这是一个学校项目。
提前致谢
答案 0 :(得分:3)
HttpStatusCode
只是enum
类型。我不知道为什么你对418(4月1日的hur hur)感兴趣,但是任何整数都可以转换为任何枚举类型,所以你可以return (HttpStatusCode)418
。
答案 1 :(得分:0)
由于枚举中不包含418,因此您可以在HttpResponseMessage对象上使用反射来强制HttpStatusCode属性为值418.
这样的事情:
HttpResponseMessage message;
message.GetType().GetProperty("StatusCode").SetValue(message, (object)418);
也许你甚至会添加它;)
message.ReasonPhrase = "I'm a teapot.";