我需要拦截使用WCF创建的服务与webHttpBinding
(基于REST的服务)的响应。
现在我希望以自定义方式发布XML。例如,目前服务方法返回如下输出:
<User xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<UserCellInfo>+91-98102239</UserCellInfo>
<UserDepartment>.NET Projects</UserDepartment>
<UserID>A10129</UserID>
<UserName>Jeff Thomson</UserName>
</User>
但我想以不同的自定义方式使用它。如下所示
<?xml version="1.0" encoding="UTF-8"?>
<rsp>
<User>
<UserCellInfo>+91-98102239</UserCellInfo>
<UserDepartment>.NET Projects</UserDepartment>
<UserId>A10129</UserId>
<UserName>Jeff Thomson</UserName>
</User>
</rsp>
在MSDN中,我读到我需要使用IDispatchMessageInspector
来拦截出来的XML。但我找不到任何代码参考或示例。
任何好主意如何实现这个目标?
答案 0 :(得分:1)
所以我假设你的WCF服务方法在这个方法调用中返回一个User
对象的实例,对吗?
为什么不定义一个名为rsp
的包装类,其中包含User
实例?然后返回rsp
对象将以所需的样式呈现。只是一个漂亮的干净包装 - 没有动态凌乱的XML操作......