Как вернуть код состояния HTTP 420 из моей службы WCF?
Мой клиент просит установить код состояния =420, если служба WCF возвращает ошибку. Как я могу этого достичь?
Это вообще возможно? Я пытался установить код статуса HTTP
WebOperationContext ctx = WebOperationContext.Current;
ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.BadRequest;
Я не могу найти код состояния 420 в HttpStatusCode.
1 ответ
Решение
Вы можете разыграть любого int
значение для перечисления (ну, один с int
как его базовый тип) - оно не должно быть "допустимым" значением - так что вы можете попробовать:
ctx.OutgoingResponse.StatusCode = (System.Net.HttpStatusCode)420;
См. Спецификация языка C#, версия 5, раздел 1.10:
Набор значений, которые может принимать тип enum, не ограничен его членами enum. В частности, любое значение базового типа перечисления может быть приведено к типу перечисления и является отличным допустимым значением этого типа перечисления.