हमें एक वेब सेवा का उपयोग करना है जो साबुन 11 का उपयोग करता है ... कोई समस्या नहीं है मैं बस बाध्यकारी सेट करूँगा:मैं इस कस्टम बाध्यकारी प्रोग्रामेटिक रूप से कैसे बना सकता हूं?
BasicHttpBinding wsBinding = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential);
नहीं। कोई पाँसा नहीं। इसलिए मैंने सेवा के मेजबान से पूछा कि हमारे पास प्रमाणीकरण के मुद्दे क्यों हैं और उन्होंने कहा कि हमारी कॉन्फ़िगरेशन को इस कस्टम बाध्यकारी होने की आवश्यकता है:
<bindings>
<customBinding>
<binding name="lbinding">
<security authenticationMode="UserNameOverTransport"
messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11"
securityHeaderLayout="Strict"
includeTimestamp="false"
requireDerivedKeys="true"
keyEntropyMode="ServerEntropy">
</security>
<textMessageEncoding messageVersion="Soap11" />
<httpsTransport authenticationScheme ="Negotiate" requireClientCertificate ="false" realm =""/>
</binding>
</customBinding>
</bindings>
केवल समस्या यह है कि हम कॉन्फ़िगरेशन के माध्यम से प्रोग्रामिंग रूप से हमारे बाध्यकारी बना रहे हैं। तो अगर कोई मुझे मेरे मूल एचटीपी बाइंडिंग को एक कस्टमबाइंडिंग में बदलने के संबंध में सही दिशा में इंगित कर सकता है जो प्रदान किए गए .config मान के अनुरूप है, तो मैं उन्हें दिन के लिए एक बड़ा चमकदार सुनहरा सितारा दूंगा।
इसके लिए धन्यवाद .. मेरे पास एक समान समस्या थी जहां मुझे एक और कक्षा प्रोजेक्ट बनाना था जिसमें बाहरी सेवा कॉल करने के लिए तर्क शामिल था। मैंने वास्तव में APP.config से कॉन्फ़िगरेशन को अंतर्निहित web.config पर नहीं ले जाया था - और इसलिए उपर्युक्त समाधान सेवा परिभाषा को ओवरराइड करने के लिए इस उदाहरण के लिए बिल्कुल सही है। –