質問

I'm using a WCF .svc class like so:

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

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

When I get my JSON back, it looks like this:

{"SetInformationResult":{ ... } }

My question is: Where did SetInformationResult come from, and can I control it's name without renaming my class? To "d", for instance, to mimic what the ScriptService does?

EDIT: For posterity, relevant links I've found since: How can I control the name of generic WCF return types?

役に立ちましたか?

解決

The name came from your operation name with "Result" appended to it. And you can rename it by using the [MessageParameter] attribute on the return of the method:

[OperationContract, WebInvoke(...)]
[return: MessageParameter(Name = "d")]
public FunInfo SetInformation(int a, int b) { ... }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top