2014-04-01 79 views
0

我想知道是否有可能從WCF服務返回418。我嘗試了一個操作契約,它返回一個HttpResponseMessage,但只接受一個HttpStatusCode作爲狀態代碼的參數,並且他們已經不幸地忘記將418添加到該枚舉中。從WCF REST webget返回418

有沒有人有解決這個問題?這是一個學校項目。

在此先感謝

回答

1

HttpStatusCode只是一個enum類型。我不知道你爲什麼對418感興趣(4月1日ü),但任何整數都可以轉換爲任何枚舉類型,所以你可以只用return (HttpStatusCode)418

0

由於418在枚舉不包括你可以使用反射HttpResponseMessage對象到HttpStatusCode財產強制值418

事情是這樣的:

HttpResponseMessage message; 
message.GetType().GetProperty("StatusCode").SetValue(message, (object)418); 

也許你甚至會加上這個吧)

message.ReasonPhrase = "I'm a teapot."; 
+0

爲什麼你會使用反射的東西,簡單的演員可以做? – Aaronaught

+0

你說得對。以前我認爲使用枚舉類型檢查存在問題。 – Trisk

相關問題