में कॉलकॉन्टेक्स्ट डब्ल्यूसीएफ सेवा के अनुरोध पर कॉलकॉन्टेक्स्ट का उपयोग करना सुरक्षित है, इसे कुछ कॉल विशिष्ट डेटा (उदाहरण के लिए कॉल की शुरुआत में हुक का उपयोग करके: इंस्पेक्टर/कॉन्टेक्स्टबाउंडऑब्जेक्ट) के साथ शुरू करें, और फिर इसे कॉल में पुन: उपयोग करें, और गारंटी दी जा सकती है कि मैं जिस डेटा का उपयोग करता हूं वह हर समय एक ही डेटा है?डब्ल्यूसीएफ
धन्यवाद, पावेल
धन्यवाद। मैंने कुछ समय पहले AOP और ContextBoundObject का उपयोग करके अपना समाधान तैयार किया है। मैंने पहलू वर्ग विधि में अपना ऑपरेशन-स्कोप गुण सेट किया है SyncProcessMessage: CallContext.SetData ("वर्कस्पेस प्रबंधक", _workspaceManager); यह तब सुरक्षित होना चाहिए? – dragonfly
एक और चीज जो मुझे परेशान करती है ... एएसपीनेट वेब एप्लिकेशन में यह कहा गया है कि एक अनुरोध एक से अधिक धागे (कुछ थ्रेड स्विचिंग जैसे) का उपयोग कर सर्वर हो सकता है। यह डब्ल्यूसीएफ मेजबान पर्यावरण में समान नहीं है? जब ऑपरेशन संसाधित हो जाता है तो क्या वह किसी भी बिंदु को निलंबित कर सकता है, और फिर किसी अन्य धागे का उपयोग करके फिर से शुरू किया जा सकता है? – dragonfly
जिस एप्लिकेशन पर मैं काम करता हूं उसमें विरासत कोड डब्ल्यूसीएफ ऑपरेशन के भीतर कॉलकॉन्टेक्स्ट में उपयोगकर्ता-विशिष्ट स्थिति संग्रहीत कर रहा था। चूंकि हमारी डब्ल्यूसीएफ सेवाओं को आईआईएस में होस्ट किया जाता है, इसलिए विभिन्न डब्ल्यूसीएफ ऑपरेशंस विभिन्न धागे पर चलते हैं, जिन्हें आईआईएस थ्रेड पूल से पुन: उपयोग किया जाता है। हम कुछ स्पोरैडिक व्यवहार को देख रहे थे जहां कुछ ऑपरेशन अन्य उपयोगकर्ताओं से संबंधित उपयोगकर्ता डेटा उठा रहे थे। ऑपरेशन कॉन्टेक्स्ट की बजाय, कॉलकॉन्टेक्स्ट का उपयोग करके गलत तरीके से कोड के कारण, जो केवल डब्ल्यूसीएफ ऑपरेशन के जीवनकाल के लिए मान्य है। यह ट्रैक करना मुश्किल था, लेकिन ऑपरेशन कॉन्टेक्स्ट में बदलकर इसे हल किया गया। – ozziepeeps