2
那麼,我已經用一個自定義屬性裝飾了幾個服務中的一些方法。返回HttpStatus代碼和來自WCF的消息Rest服務IParameterInspector AfterCall可以處理
該屬性使用從IOperationBehavior
的ApplyDispatchBehavior
附加到方法,並從IParameterInspector
的BeforeCall
和AfterCall
方法之前,服務方法被調用後做一些處理。
一切都很好,很好... 當服務方法需要返回一個http狀態和一條消息時,問題出現了。我能找到的唯一方法就是讓方法在我們的消息中傳遞一個WebFaultException<T>
並傳遞適當的http狀態。
與此問題是附加屬性的AfterCall
永遠不會被調用。
長期和短期的是:
- 是否有返回的消息 和設置HTTP狀態,而不 拋出異常的方法嗎?
- 如果我必須拋出
WebFaultException<T>
有沒有辦法讓我的屬性仍然可以用返回的消息調用?
有趣。我回來了Json。 ContentType是application/json,但是,只要我設置WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.Created(201),ContentType就切換到application/xml。 – Rhyous 2017-10-24 14:32:14