आप नहीं कर सकते। विधि हस्ताक्षर के संबंध में डब्ल्यूसीएफ पर कई प्रतिबंध हैं; मेजबान तंत्र की वजह से कुछ प्रतिबंध हैं, और अन्य डब्लूएसडीएल/एमईएक्स के कारण हैं।
इस तथ्य के बावजूद कि डब्ल्यूसीएफ संभावित रूप से आपके सेवा कोड और ओवरलोडेड विधियों और कई अन्य चीजों में डिफ़ॉल्ट पैरामीटर दे सकता है, जब आप अपनी सेवा होस्ट करते हैं तो यह शुरू हो सकता है या शुरू नहीं हो सकता है, या यह शुरू हो सकता है लेकिन काम नहीं कर सकता है या नहीं। यह युक्तियुक्त है।
मैंने इसे दूर करने के लिए क्या किया है, यह है कि मैं जहां भी आवश्यक हो वहां शून्य अक्षरों का उपयोग करता हूं, फिर मेरे क्लाइंट कोड पर मेरे पास हमेशा एक सेवा परत होती है जो मेरे स्वत: जेनरेटेड क्लाइंट प्रॉक्सी तक पहुंचती है; मेरी सेवा परत में सभी ओवरलोड और वैकल्पिक पैराम हैं जो मैं चाहता हूं। उदाहरण (गंदा कोड):
WCF सेवा:
[OperationContract]
[FaultContract(typeof(MyCustomFault))]
List<InventoryPart> SelectMany(string partialPartNumber, string division, int? subDivision, bool? isActive);
ग्राहक सेवा लेयर (नहीं स्वत: जनरेट की प्रॉक्सी, लेकिन एक मेरे द्वारा लिखित)
public List<InventoryPart> GetParts(string partialPartNumber){
return GetParts(partialPartNumber, null);
}
public List<InventoryPart> GetParts(string partialPartNumber, string division){
return GetParts(partialPartNumber, division, null);
}
public List<InventoryPart> GetParts(string partialPartNumber, string division, int? subDivision){
return GetParts(partialPartNumber, division, subDivision, null);
}
public List<InventoryPart> GetParts(string partialPartNumber, string division, int? subDivision, bool? isActive){
// This method is the one that actually calls the client proxy channels and all.
}
मेरे क्लाइंट ऐप ग्राहक सेवा परत
का उपभोग करता है
मुझे नहीं पता; क्या आप? (दूसरे शब्दों में - इसे आज़माएं) –
@ टॉम डब्ल्यू - कुछ भी नहीं के लिए धन्यवाद, मैंने कोशिश की है और ऐसा लगता है लेकिन हर जगह मैंने पढ़ा है, डैनियल क्यूड्रा की सहायक (आपकी प्रतिक्रिया के विपरीत) सहित। – BBauer42