2010-11-25 10 views
11

मैं कुछ अच्छे ट्यूटोरियल ढूंढने की कोशिश कर रहा हूं जो मुझे डब्ल्यूसीएफ का उपयोग करके एक सरल एसओएपी आधारित सेवा बनाने और इसे तैनात करने के लिए दिखाएंगे। मैं पिछले 2 घंटे से गुगल रहा हूं और मुझे कोई अच्छा संसाधन नहीं मिल रहा है .. क्या कोई मेरी मदद कर सकता है?डब्ल्यूसीएफ एसओएपी आधारित सेवा बनाने के लिए

उत्तर

10

संसाधनों के लिए: MSDN WCF Developer Center है जिसमें शुरुआती ट्यूटोरियल से लेख और नमूना कोड तक सब कुछ है।

इसके अलावा, WCF से संबंधित किसी भी विषय आप में रुचि हो सकती है बस के बारे में के बारे में कुछ वास्तव में उपयोगी, सूचना के 10-15 मिनट के लिए हिस्सा screen cast library up on MSDN की जाँच करें।

इसके अलावा

बहुत अच्छा पर MSDN पत्रिका में The Service Station लेख हैं डब्ल्यूसीएफ के विभिन्न पहलुओं - Serialization in WCF या WCF Bindings in Depth जैसे कुछ और बुनियादी, कुछ और उन्नत और गूढ़ - लेकिन हमेशा एक नजर लायक!

अपडेट: डब्ल्यूसीएफ और एसओएपी सीखने के लिए, उदाहरण के लिए देखें।

और एक महान कई और अधिक - एक टन WCF पर ट्यूटोरियल और शिक्षण सामग्री के सोप बाइंडिंग का उपयोग कर रहे हैं - यह सुनिश्चित करें के लिए सिर्फ आराम नहीं सामान!

+0

मैं उन सभी लेखों को चला गया हूं, लेकिन कोई भी विशेष रूप से एसओएपी और डब्ल्यूसीएफ – aherlambang

+1

@EquinoX के बारे में नहीं कहता है: डब्ल्यूसीएफ एसओएपी है - सामान्य बाइंडिंग सभी SOAP का उपयोग करते हैं। बस डब्ल्यूसीएफ का उपयोग करना शुरू करें - आप स्वचालित रूप से एसओएपी का उपयोग करेंगे (जब तक आप वेबहट्प बाइंडिंग का उपयोग नहीं करते हैं, जो आरईएसटी है) –

+0

यह समस्या है..इस उदाहरण में वेबहट्प बाइंडिंग – aherlambang

0

डब्ल्यूसीएफ सेवाओं के निर्माण के लिए एक तकनीक है। यह नहीं मानता है कि सेवाएं एसओएपी सेवाएं या रीस्टफुल या कुछ और हैं। आपको सेवा और डेटाकंट्रैक्ट्स, एंडपॉइंट्स, बाइंडिंग इत्यादि जैसे डब्ल्यूसीएफ मूलभूत बातें सीखना है ताकि किसी भी प्रकार की सेवा के साथ काम करने में सक्षम हो सके।

दिए गए लिंक marc_s इसके लिए बहुत उपयोगी हैं।

अब तक जहां तक ​​एसओएपी का संबंध है, यह एक प्रारूप \ तकनीक है जो संदेशों को एक एंडपॉइंट से दूसरे में ले जाने के लिए उपयोग की जाती है। यह विवरण डब्ल्यूसीएफ के बाध्यकारी पहलू से ढका हुआ है। जब आप सेवाओं का पर्दाफाश करते हैं और उपभोग करते हैं तो आपको बस एक बाध्यकारी चुनना होता है जो SOAP का उपयोग करता है।

इसलिए, आपको marc_s द्वारा दिए गए लिंक का उपयोग करना चाहिए, सेवा बनाने के लिए डब्ल्यूसीएफ मूल बातें सीखना चाहिए। फिर आपको पता चलेगा कि सेवा कैसे बनाएं और एसओएपी का उपयोग करने के लिए कौन सा बाध्यकारी है।

उम्मीद है कि इससे मदद मिलती है।

2

एक WCF सेवा

के लिए बाकी/सोप अंतिमबिंदुओं आप दो अलग अलग अंतिमबिंदुओं में सेवा का पर्दाफाश कर सकते हैं। एसओएपी कोई बाध्यकारी का उपयोग कर सकता है जो SOAP उदा। basicHttp बाइंडिंग, रीस्टफुल वेब webHttp बाइंडिंग का उपयोग कर सकते हैं। मुझे लगता है कि इस मामले में, आप निम्न व्यवहार विन्यास के साथ दो समाप्ति बिंदुओं विन्यस्त करने की जरूरत मान अपने बाकी सेवा JSON में हो जाएगा,

<endpointBehaviors> 
<behavior name="jsonBehavior"> 
<enableWebScript/> 
</behavior> 
</endpointBehaviors> 

अपने परिदृश्य में अंत बिंदु विन्यास का एक उदाहरण

<services> 
<service name="TestService"> 
<endpoint address="soap" binding="basicHttpBinding" contract="ITestService"/> 
<endpoint address="json" binding="webHttpBinding" behaviorConfiguration="jsonBehavior" contract="ITestService"/> 
</service> 
</services> 
तो

है , सेवा

http://www.example.com/soap http://www.example.com/json पर उपलब्ध होगा यह RESTful बनाने के लिए आपरेशन अनुबंध के लिए आवेदन करें [WebGet]। जैसे

सार्वजनिक इंटरफ़ेस ITestService { [OperationContract] स्ट्रिंग HelloWorld [WebGet] (स्ट्रिंग पाठ) }

ध्यान दें, यदि बाकी सेवा JSON में नहीं है, आपरेशन के मानकों जटिल प्रकार नहीं हो सकते । सादे पुराने एक्सएमएल के लिए रिटर्न प्रारूप के रूप में, यह एक उदाहरण है जो एसओएपी और एक्सएमएल दोनों के लिए काम करेगा। बाकी सादा पुराना एक्सएमएल

<behavior name="poxBehavior"> 
    <webHttp/> 
</behavior> 

Endpoints

<services> 
<service name="TestService"> 
<endpoint address="soap" binding="basicHttpBinding" contract="ITestService"/> 
<endpoint address="xml" binding="webHttpBinding" behaviorConfiguration="poxBehavior" contract="ITestService"/> 
</service> 
</services> 
के लिए

[ServiceContract(Namespace = "http://test")] 
public interface ITestService 
{ 
[OperationContract] 
[WebGet(UriTemplate = "accounts/{id}")] 
Account[] GetAccount(string id); 
} 

POX व्यवहार

सेवा पर उपलब्ध होगा

http://www.example.com/soap http://www.example.com/xml
बाकी अनुरोध, सेवा संदर्भ जोड़ने के बाद सी # में ब्राउज़र में यह कोशिश सोप सेवा के लिए
http://www.example.com/xml/accounts/A123

सोप अनुरोध ग्राहक endpoint विन्यास,

<client> 
<endpoint address="http://www.example.com/soap" binding="basicHttpBinding" 
    contract="ITestService" name="BasicHttpBinding_ITestService" /> 

TestServiceClient client = new TestServiceClient(); 
client.GetAccount("A123"); 

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

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