2012-03-27 18 views
6

मैं बहुत की तरह एक WCF .svc वर्ग का उपयोग कर रहा:डब्ल्यूसीएफ का उपयोग करके बाहरी ऑब्जेक्ट का नाम कैसे बदलूं?

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

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

जब मैं अपने JSON वापस पाने के लिए, यह इस तरह दिखता है:

{"SetInformationResult":{ ... } } 

मेरा प्रश्न है: जहां SetInformationResult से आते हैं, और क्या मैं अपनी कक्षा का नाम बदलने के बिना इसका नाम नियंत्रित कर सकता हूं? उदाहरण के लिए, "डी" करने के लिए, स्क्रिप्ट सेवा क्या नकल करता है?

संपादित करें: भावी पीढ़ी के लिए, प्रासंगिक लिंक मैंने पाया के बाद से: How can I control the name of generic WCF return types?

उत्तर

16

नाम "परिणाम" इसके परिशिष्ट के साथ अपने ऑपरेशन नाम से आया है। और आप इसे विधि की वापसी पर [MessageParameter] विशेषता का उपयोग करके नाम बदल सकते हैं:

[OperationContract, WebInvoke(...)] 
[return: MessageParameter(Name = "d")] 
public FunInfo SetInformation(int a, int b) { ... } 
+2

वाह, मैं उच्च और निम्न, जिन्हें खोजा, और नहीं मिल इसे कहीं भी प्रलेखित सकता है। एएसपी.नेट डब्ल्यूसीएफ/एएसएमएक्स सिस्टम कहीं भी एमएसडीएन का सबसे खराब दस्तावेज एपीआई हो सकता है ... धन्यवाद! –

+0

यह मुझे पागल कर रहा था। – cycopepe

संबंधित मुद्दे