从WCF REST webget返回418

时间:2014-04-01 18:11:49

标签: c# wcf

我想知道是否可以从WCF服务返回418。我已经尝试制作一个返回HttpResponseMessage的操作合约,但是只接受HttpStatusCode作为状态代码的参数,并且他们已经悲惨地禁止将418添加到该枚举。

有没有人有解决方案?这是一个学校项目。

提前致谢

2 个答案:

答案 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.";