我正在使用WCF創建ReSTful服務。說我的OperationContract的是這樣的:在WCF Rest服務中找不到終端的自定義消息
[OperationContract]
[WebGet(
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "GetItemList/{token}/{value}"
)]
Stream GetItemList(string token);
所以,當我打電話http://example.com/Service1.svc/GetItemList/myToken/myValue該服務將被調用。
現在我想寫一個默認的方法說着什麼聯繫,「沒有方法/結束點存在」,文用戶來電 http://example.com/Service1.svc/GetItemList/myToken/或 http://example.com/Service1.svc/GetItemList/myValue/或 http://example.com/Service1.svc/GetItemList/
我如何能實現,在我的代碼?
現在我做的是什麼樣的:
[OperationContract]
[WebGet(
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "GetItemList/"
)]
string ValidateItemList();
[OperationContract]
[WebGet(
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "GetItemList/{Val1}"
)]
string ValidateItemList(string Val1);
而且在功能,我只返回一個字符串說:「沒有方法存在」。
有沒有更好的方法?我可以自定義錯誤消息,指向我的服務的網址嗎?假設,針對所有不存在的網址請求的常見消息都是針對我的服務的?
我也願意回答這個問題,我發佈了類似的問題,並指出到調度組件,但調度員與端點相關聯,並且整個觀點是,svc主機不會爲不特定匹配給定uri模板的請求創建任何端點。 –
@NathanTregillus,是的。確實如此。我想要的就像Try-Catch中的Finally。當請求不匹配任何URI時將執行的默認函數。似乎沒有任何選擇。 –