如何从WCF服务返回HTTP状态代码420?

Art*_*rti 1 c# wcf web-services http-status-codes

如果WCF服务返回错误,则我的客户端请求设置状态代码= 420。我该如何实现?

这有可能吗?我试图设置HTTP状态代码

WebOperationContext ctx = WebOperationContext.Current;
ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.BadRequest;
Run Code Online (Sandbox Code Playgroud)

我在HttpStatusCode中找不到状态代码420。

Dam*_*ver 5

您可以将任何int值强制转换为枚举(好吧,int它的基类型必须是其值)-它不一定是“有效”值-因此您可以尝试:

ctx.OutgoingResponse.StatusCode = (System.Net.HttpStatusCode)420;
Run Code Online (Sandbox Code Playgroud)

请参阅C#语言规范版本5的 1.10节:

枚举类型可以采用的值集不受其枚举成员的限制。特别是,枚举的基础类型的任何值都可以转换为枚举类型,并且是该枚举类型的不同有效值。