2008-11-08 12 views
5

का उपयोग कर मैं निम्नलिखित इंटरफेस है कि मैं अपने सर्वर (एक नियमित रूप से वेब सेवा) और मेरे मुवक्किल (एक Silverlight 2.0 आवेदन) के बीच साझा करना चाहते हैं कहो मेरी वेब सेवा इस इंटरफ़ेस को लागू करती है, और क्लास लाइब्रेरी का संदर्भ देती है जहां Customer प्रकार परिभाषित किया गया है।साझा सेवा इंटरफेस और सिल्वरलाइट में मॉडल, WCF

आमतौर पर, यदि आप डब्ल्यूसीएफ क्लाइंट से इस सेवा का उपभोग करना चाहते हैं, तो एक विनफॉर्म ऐप कहें, आप अपनी मॉडल असेंबली और आपके सेवा अनुबंध इंटरफेस साझा कर सकते हैं। फिर, ChannelFactory का उपयोग करके, आप गतिशील रूप से प्रॉक्सी बना सकते हैं जो आपके सेवा इंटरफ़ेस को लागू करता है। कुछ ऐसा:

ICustomerService myService = new ChannelFactory<ICustomerService>(myBinding, myEndpoint); 
Customer customer = myService.GetCustomer("romain"); 

मैं मूल रूप से वही काम करना चाहता हूं, लेकिन सिल्वरलाइट 2.0 एप्लिकेशन से। चांदी की रोशनी ChannelFactory अन्य की तरह कार्य नहीं कर रही है ...

क्या आप जानते हैं कि यह संभव है?

नोट: चूंकि एक Silverlight आवेदन केवल सिल्वरलाइट परियोजनाओं संदर्भित करता है सकते हैं, मेरे पास है: जो Customer प्रकार शामिल MyModel.dll की

दो संस्करण:

  • एक .NET Framework 3.5 लक्ष्यीकरण संकलित, संदर्भित मेरी वेब सेवा प्रोजेक्ट
  • चांदी की रोशनी 2.0 फ्रेमवर्क का एक और संकलित लक्ष्य, मेरे चांदी के एप
012 द्वारा संदर्भित जो ICustomerService इंटरफ़ेस शामिल MyServicesContracts.dll की

दो संस्करण:

  • एक .NET Framework 3.5, मेरे वेब सेवा परियोजना
  • द्वारा संदर्भित लक्ष्यीकरण संकलित एक और संकलित Silverlight 2.0 ढांचे, मेरी Silverlight अनुप्रयोग
  • द्वारा संदर्भित लक्ष्यीकरण

उत्तर

3

मुझे लगता है कि आपको यह thread दिलचस्प लगेगा। आप अलग-अलग परियोजनाओं के बीच कोड फ़ाइलों को साझा कर सकते हैं या एकाधिक लक्ष्यों के खिलाफ एक एकल परियोजना संकलित कर सकते हैं।

0

मैं गलत हो सकता हूं, लेकिन मुझे लगता है कि यदि आप डेटा डब्ल्यूक्यूएफ और डेटामेम्बर विशेषताओं के साथ अपनी डब्ल्यूसीएफ सेवा द्वारा लौटाई जाने वाली वस्तुओं को सजाने के लिए तैयार हैं, तो आप अपने क्लाइंट में कक्षा बनाने के बिना अपने सिल्वरलाइट एप्लिकेशन और डब्ल्यूसीएफ सेवा के बीच वस्तुओं को साझा करने में सक्षम होना चाहिए (प्रॉक्सी द्वारा नियंत्रित किया जाना चाहिए।

0

बहुत ही कम ...


आप अपने प्रॉक्सी आपकी सेवा। के लिए एक सेवा संदर्भ जोड़ने Silverlight आवेदन के तहत बनाया है सकते हैं जब आप ऐसा करते हैं, तो आप होगा क्लाइंट पर उत्पन्न आपकी प्रॉक्सी ऑटोमैटिकल।


आपकी डब्ल्यूसीएफ सेवाओं इंटरफेस को डाटाकंट्रैक्ट और ऑपरेशन कंट्रैक्ट विशेषताओं के साथ एनोटेट किया जाना चाहिए और इस सेवाओं के साथ उपयोग किए गए पीओसीओ वर्गों में डेटाकंट्रैक्ट और डेटामेम्बर विशेषताओं होना चाहिए।


http://msdn.microsoft.com/en-us/library/cc197940(VS.95).aspx

0

मैं जानता हूँ कि यह एक समाधान प्रदान करने के लिए बहुत देर हो चुकी है, लेकिन यह भी मेरी समस्या थी और मैं Portable Class Libraries पाया। यह आपके मुद्दे का एक सही समाधान है।

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