.net - Renewing a WCF client when SCT has expired? -


मैं सुरक्षा मोड "TransportWithMessageCredential" का उपयोग कर एक साबुन समापन बिंदु पर WCF का उपयोग कर रहा हूं।

WCF क्लाइंट / सर्वर एक सुरक्षित कनेक्शन बनाए रखने के लिए एससीटी (सुरक्षा संदर्भ टोकन) का उपयोग करता है, और यह सामान्य मामले में अभिप्रेत है।

हालांकि, निष्क्रियता की अवधि के बाद, एससीटी समाप्त हो जाएगी और अगली विधि कॉल एक MessageSecurityException का कारण होगा:

अन्य पक्ष से एक असुरक्षित या गलत सुरक्षित गलती प्राप्त हुई थी गलती के कोड और विवरण के लिए आंतरिक फ़ॉल्ट अपवाद देखें

इनर अपवाद:

संदेश संसाधित नहीं किया जा सका। यह सबसे अधिक संभावना है क्योंकि क्रिया '' गलत है या क्योंकि संदेश में एक अमान्य या समयसीमा समाप्त सुरक्षा संदर्भ टोकन है या क्योंकि बाइंडिंग के बीच कोई बेमेल नहीं है सुरक्षा संदर्भ टोकन अमान्य होगा यदि सेवा निष्क्रियता के कारण चैनल को निरस्त कर दी गई है। सेवा को बंद करने से रोकने के लिए सेवा सत्रों को समय से पहले सेवा समापन बिंदु के बाध्यकारी पर प्राप्त समय-सीमा को बढ़ाती है।

बाद में कॉल पर, मैं कनेक्शन को नवीनीकृत करता हूं जब मुझे पता चलता है कि कम्युनिकेशन स्टेट फॉल्टटेड है। लेकिन मुझे अपनी विधि कॉल करने से पहले सीसीटी की समयसीमा समाप्त होने की जांच करने के लिए कोई रास्ता नहीं मिल सकता है।

इस पोस्ट पर एक नजर डालें जहां आप एक प्रॉक्सी आवरण डाउनलोड कर सकते हैं जो सत्र की समय सीमा समाप्त होने पर पुन: प्रयास करता है।


Comments