ServiceHost.AddServiceEndpoint का उपयोग करते समय कस्टम जोड़ने के लिए ProtoEndpointBehavior मैं निम्न अपवाद प्राप्त करें:AddServiceEndpoint फेंकता कुंजी शून्य है?
System.ArgumentNullException: मान रिक्त नहीं हो सकता है। पैरामीटर नाम: System.ServiceModel.ServiceHostBase.ImplementedContractsContractResolver.ResolveContract System.ServiceModel.ServiceHostBase.ServiceAndBehaviorsContractResolver.ResolveContract पर (स्ट्रिंग contractName) पर System.Collections.Generic.Dictionary
2.FindEntry(TKey key) at System.Collections.Generic.Dictionary
2.ContainsKey (TKey कुंजी) (स्ट्रिंग पर कुंजी System.ServiceModel.ServiceHostBase.AddServiceEndpoint पर System.ServiceModel.Description.ConfigLoader.LookupContractForStandardEndpoint (स्ट्रिंग contractName, स्ट्रिंग SERVICENAME) System.ServiceModel.Description.ConfigLoader.LookupContract (स्ट्रिंग contractName, स्ट्रिंग SERVICENAME) पर पर contractName) (ServiceEndpoint एंडपोई सी में My.Service.Business.ServiceHandler.StartService (प्रकार ServiceType, स्ट्रिंग uri, SecureConnectionSettings secureConnectionSettings) पर NT): \ मेरे \ उत्पादों के \ मेरे Utveckling \ समाधान \ My.Service.Business \ ServiceHandler.cs: रेखाServiceHost serviceHost = null; Console.WriteLine("Creating service " + serviceType.FullName); serviceHost = new MyServiceHost(serviceType, new Uri(uri)); var endPointAddress = ""; HttpBindingBase binding = null; if (secureConnectionSettings != null && secureConnectionSettings.Enabled) { Console.WriteLine("Setting certificates"); X509Store store = new X509Store(secureConnectionSettings.CertificateStore, secureConnectionSettings.CertificateLocation); store.Open(OpenFlags.ReadOnly); X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindByThumbprint, secureConnectionSettings.Thumbprint, true); store.Close(); if (certs.Count > 0) serviceHost.Credentials.ServiceCertificate.SetCertificate(secureConnectionSettings.CertificateLocation, secureConnectionSettings.CertificateStore, X509FindType.FindByThumbprint, secureConnectionSettings.Thumbprint); else throw new Exception("Could not finde certificate with thumbprint " + secureConnectionSettings.Thumbprint); endPointAddress = uri + "/BinaryHttpsProto"; binding = CreateNetHttpsBinding(secureConnectionSettings); } else { endPointAddress = uri + "/BinaryHttpProto"; binding = CreateNetHttpBinding(); } var endpoint = new System.ServiceModel.Description.ServiceEndpoint(new System.ServiceModel.Description.ContractDescription(typeof(IMyClientService).FullName), binding, new EndpointAddress(endPointAddress)); endpoint.EndpointBehaviors.Add(new ProtoBuf.ServiceModel.ProtoEndpointBehavior()); serviceHost.AddServiceEndpoint(endpoint); Console.WriteLine("Starting service..."); serviceHost.Open(); Console.WriteLine("Service started successfully (" + uri + ")"); return serviceHost;
मैं इस तरह कॉन्फ़िग फ़ाइल में इस सेट करने के लिए उपयोग करें:: 150
इस तरह कैसे कोड दिखता है
<endpointBehaviors>
<behavior name="protoEndpointBehavior">
<protobuf />
</behavior>
</endpointBehaviors>
अब मुझे इसे कोड में जोड़ने की जरूरत है।
क्या गलत है?
आपके द्वारा पोस्ट किए गए कोड में कौन सी पंक्ति उस त्रुटि को फेंक रही है? – Sparrow
@FeryalBadili इसे एंडपॉइंट पर फेंक दिया गया है। एंडपॉइंटबैवियर्स। पंक्ति जोड़ें। – Banshee