我正在编写一个WCF REST服务,并尝试使用Carlos Figueira的博客文章中的思想来定制我的反序列化。
只有一个问题。我想我的自定义IDispatchMessageFormatter.DeserializeRequest()
都:
- 反序列化请求体 并将URI解析为方法参数(就像WCF默认做的那样)。
例如,如果我的服务契约中有以下方法:
[WebInvoke(Method = "POST", UriTemplate = "/{uriPart1}/{uriPart2}")]
void Func(string uriPart1, string uriPart2, SomeObject messageBodyObject);
那么我的DeserializeRequest()
实现不仅应该将POST消息体反序列化为messageBodyObject
,还应该将URI中的正确值分配给uriPart1
, uriPart2
参数。
Carlos的代码不执行第二部分。
我想知道我怎样才能做到这一点。
为什么不看看Web API项目(http://wcf.codeplex.com)呢?它在幕后使用WCF,它做你所描述的。