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 回答