वापस नहीं करेगा I सी # में डब्ल्यूसीएफ का निर्माण कर रहा हूं, और एक ग्राहक इसे एक ही समय में उपभोग करने के लिए तैयार कर रहा है। किसी कारण से मुझे एक int वापस करने के लिए एक विधि प्राप्त करने में परेशानी हो रही है।डब्ल्यूसीएफ एक int
[ServiceContract]
public interface IMData
{
[OperationContract]
int ReturnAnInt();
[OperationContract]
String HelloWorld();
}
वह स्थान है जहां मैं इसे लागू किया है:: यहाँ मेरे अनुबंध है
public class MData : IMData
{
public String HelloWorld()
{
return "Hello World";
}
public int ReturnAnInt()
{
return 5;
}
}
मैं दृश्य स्टूडियो का उपयोग कर रहा है, और ग्राहक के लिए, मैं एक वेब संदर्भ के रूप में इस WCF आयात किया। अब किसी कारण से जब मैं एमडीएटी का एक उदाहरण घोषित करता हूं और हैलोवर्ल्ड को कॉल करने का प्रयास करता हूं, तो कोई समस्या नहीं है, लेकिन मुझे ReturnAnInt पर कॉल करते समय संकलन त्रुटि मिलती है।
MData m = new MData();
String helloWorld = m.HelloWorld();
int result = m.ReturnAnInt();
त्रुटि मैं ReturnAnInt साथ मिलता है: "नहीं अधिभार विधि 'ReturnAnInt' के लिए ले जाता है 0 तर्क" तो फिर मैं माउस क्या दृश्य स्टूडियो उम्मीद कर रही है को देखने के लिए, और यह कहा गया है कि विधि दिखना चाहिए जैसे:
void MData.ReturnAnInt(out int ReturnAnIntResult, out bool ReturnAnIntResultSpecified)
मैं अब घंटे के लिए इस पर एक दीवार के खिलाफ मेरे सिर पीटने किया गया है और गूगल पर कुछ भी नहीं मिल सकता है, और यह अपने सहकर्मियों के साथ-साथ को विस्मित कर दिया है। यह दो आउट पैरामीटर क्यों जोड़ता है जो परिभाषा में नहीं हैं, और रिटर्न प्रकार बदलते हैं? किसी भी तरह की सहायता का स्वागत किया जाएगा। अगर मैं किसी भी जानकारी को छोड़ देता हूं तो मैं क्षमा चाहता हूं।
WCF वास्तव में एक 'out' मापदंडों समर्थन करता है? – abatishchev
हां, लेकिन वास्तव में यह सवाल नहीं है कि सवाल क्या है। प्रश्न में वर्णित समस्या यह है कि डब्ल्यूसीएफ सी # कोड 'आउट' पैरामीटर या वैकल्पिक 'int' निर्दिष्ट नहीं करता है, लेकिन वेब संदर्भ कोड जेनरेटर इसे बनाता है। यह काम। हालांकि, आप एक डब्ल्यूसीएफ सेवा जैसे 'int ReturnAnInt (बाहर int intInt) परिभाषित कर सकते हैं;' वह काम करता है, और दोनों को सेवा संदर्भ के रूप में और वेब संदर्भ के रूप में उपयोग किया जा सकता है। उत्पन्न डब्लूएसडीएल केवल कई तत्वों के साथ एक प्रतिक्रिया वस्तु है, इसलिए इसे अन्य क्लाइंट भाषाओं में भी कुछ उपयोग करने योग्य बनाना चाहिए। –
आपके उत्तरों के लिए सभी को धन्यवाद, वे बहुत उपयोगी थे! मैंने इसे एक सेवा संदर्भ के रूप में आयात किया और मेरी समस्या हल हो गई :) –