एक भी अनुबंध के साथ एक ServiceHost चल रहा है के साथ भागो WCF ServiceHost इस तरह ठीक काम कर रहा है:कई ठेके
servicehost = new ServiceHost(typeof(MyService1));
servicehost.AddServiceEndpoint(typeof(IMyService1), new NetTcpBinding(), "net.tcp://127.0.0.1:800/MyApp/MyService1");
servicehost.Open();
अब मैं एक दूसरे (3, 4, ...) अनुबंध जोड़ना चाहते हैं। मेरा पहला अनुमान सिर्फ इस तरह अधिक अंतिमबिंदुओं जोड़ने के लिए होगा:
servicehost = new ServiceHost(typeof(MyService1));
servicehost.AddServiceEndpoint(typeof(IMyService1), new NetTcpBinding(), "net.tcp://127.0.0.1:800/MyApp/MyService1");
servicehost.AddServiceEndpoint(typeof(IMyService2), new NetTcpBinding(), "net.tcp://127.0.0.1:800/MyApp/MyService2");
servicehost.Open();
लेकिन निश्चित रूप से यह काम नहीं करता है, क्योंकि ServiceHost के निर्माण में मैं पैरामीटर के रूप में MyService1 पारित कर सकते हैं या तो या MyService2 - तो मैं एक बहुत जोड़ सकते हैं मेरी सेवा के अंतराल के लिए, लेकिन सभी को एक ही अनुबंध का उपयोग करना है, क्योंकि मैं केवल एक कार्यान्वयन प्रदान कर सकता हूं?
मुझे लगा कि मुझे इस बिंदु को याद आ रहा है, यहां। निश्चित रूप से मेरे द्वारा जोड़े गए प्रत्येक एंडपॉइंट-अनुबंध के लिए कार्यान्वयन प्रदान करने का कोई तरीका होना चाहिए या नहीं?
डांग।मुझे केवल 2 सेवा अनुबंधों की आवश्यकता है, मुझे लगता है कि 10-50, और उस संख्या के लिए यह दृष्टिकोण थोड़ा बोझिल है - यह एक ही कक्षा में सभी प्रविष्टि बिंदुओं के लिए बहुत उपयोगी नहीं है :( क्या कोई अन्य नहीं है रास्ता? – Sam
मेरा समाधान आपको विभिन्न वर्गों में अनुबंधों को तोड़ने की अनुमति देगा। आप अपने समाधान को ठंड के साथ जोड़ सकते हैं ताकि 5 कक्षाएं हों, प्रत्येक 2 अंत बिंदुओं के साथ। मैं बहुत उत्सुक हूं हालांकि आपको 50 अनुबंधों की आवश्यकता क्यों है। http://www.idesign.net/ पर 0 जुवाल के सर्वोत्तम प्रथाओं को देखें। –
मैं क्रिस की दूसरी टिप्पणी करूंगा। ऐसा लगता है कि आपको अपने डिज़ाइन को सरल बनाना होगा। – chilltemp