7

私は次のようなWCF.svcクラスを使用しています。

[DataContract] public class FunInfo { ... }
[OperationContract, WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]

public FunInfo SetInformation(int a, int b) { ... }

JSONを取り戻すと、次のようになります。

{"SetInformationResult":{ ... } }

私の質問は、SetInformationResultはどこから来たのか、そしてクラスの名前を変更せずにその名前を制御できるのかということです。たとえば、「d」を実行して、ScriptServiceの機能を模倣しますか?

編集:後世のために、私がそれ以来見つけた関連リンク:一般的なWCFリターンタイプの名前をどのように制御できますか?

4

1 に答える 1

19

名前は、「結果」が追加された操作名に由来します。[MessageParameter]また、メソッドの戻り時に属性を使用して名前を変更できます。

[OperationContract, WebInvoke(...)]
[return: MessageParameter(Name = "d")]
public FunInfo SetInformation(int a, int b) { ... }
于 2012-03-27T21:18:01.500 に答える