我正在为我的项目使用Entity框架和wcf rest服务。 我需要的是我想要改变像这样生成的xml结构
<ArrayOfBug>
<Bug>
<BugID>1</BugID>
<PageName>Home.aspx</PageName>
<BugDescription>Bug Testing</BugD`enter code here`escription>
<Priority>H</Priority>
</Bug>
</ArrayOfBug>
-------------
我需要属性而不是像这样的元素
<ArrayOfBug>
<Bug BugID="1" PageName="Home.aspx" BugDescription="Bug Testing" Priority="H" >
</Bug>
</ArrayOfBug>
最好的方法是什么? 我的界面就像这样
[OperationContract]
[WebGet(BodyStyle=WebMessageBodyStyle.Bare, UriTemplate = "/SelectAllBug", ResponseFormat = WebMessageFormat.Xml )]
List<Bug> SelectAllBug();
提前谢谢
Monish
答案 0 :(得分:1)
WCF没有开箱即用的方式来做你想做的事。
您可以通过创建自定义消息格式化程序来扩展WCF,如此good blog post.所示。缺点是您需要花一些时间来了解WCF消息处理管道如何工作以潜在地处理格式化请求和响应消息。