2

プロジェクトにエンティティ フレームワークと wcf レスト サービスを使用しています。私が必要としたのは、このように生成された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();

前もって感謝します

4

1 に答える 1

1

WCF には、必要なことを行うためのすぐに使用できる方法はありません。

この優れたブログ投稿に示されているように、カスタム メッセージ フォーマッタを作成することで、WCF を拡張できます。欠点は、WCF メッセージ処理パイプラインが要求メッセージと応答メッセージの両方のフォーマットを潜在的に処理する方法を理解するために、ある程度の時間を費やす必要があることです。

于 2012-08-28T15:18:15.117 に答える