WCF services के लिए निर्भरता इंजेक्शन के प्रयोग पर अप के बाद में एक वस्तु सुई, वहाँ प्रमाणकों WCF के लिए डि का उपयोग कर के किसी भी तरह से है, इसलिए है कि एक ऐसा कर सकता है:कैसे एक WCF सत्यापनकर्ता वर्ग
public class DIValidator : UserNamePasswordValidator
{
private readonly IService service;
[Inject]
public DIValidator(IService service)
{
this.service = service;
}
public override void Validate(string userName, string password)
{
service.Login(userName, password);
}
}
संपादित करें - मैंने अपने कस्टम व्यवहार एक्सटेंशन को Dzmitry की सलाह लागू करने का प्रयास किया, क्योंकि मेरे सत्यापनकर्ता को app.config में परिभाषित किया गया है। दुर्भाग्य से मैं एक MethodMissingException, क्योंकि WCF एक डिफ़ॉल्ट निर्माता के लिए मेरी सत्यापनकर्ता चाहता है मिलती है:
public class DependencyInjectionServiceBehavior : BehaviorExtensionElement, IServiceBehavior
{
public void ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
{
serviceHostBase.Credentials.UserNameAuthentication.CustomUserNamePasswordValidator = DISupport.Kernel.Get<IService>();
}
}
"डब्ल्यूसीएफ वैलिडेटर" क्या है? –
मुझे नहीं पता कि इसे और क्या कहना है। यदि आप चाहते हैं कि मैं इस मामले में "wcf validator" विशिष्ट हो, तो UserNamePasswordValidator का एक कस्टम कार्यान्वयन होगा। –
जॉन। तुम इतनी गन्दा क्यों हो? अगर मैं 56,000 से अधिक प्रतिनिधि अंक प्राप्त करता हूं, तो मैं भी ऐसा ही हो सकता हूं, लेकिन आप तरह से संवेदना के रूप में आते हैं। ये राय न केवल इस पोस्ट से हैं, बल्कि अन्य प्रतिक्रियाओं और धागे से आप इसमें शामिल हैं, कुछ मामलों में, आप क्रूर और माध्य से बाहर आते हैं। – SideFX