2010-05-28 8 views
7

मेरे पास कुछ कोड है जो विभिन्न धागे से एंटरप्राइज़ लाइब्रेरी 5.0 में लॉगिंग एप्लिकेशन ब्लॉक का उपयोग करके लॉगिंग करेगा। क्या एलएबी धागा सुरक्षित है? क्या मैं अलग-अलग धागे से सामान्य की तरह लॉग इन कर सकता हूं या क्या मुझे लॉगिंग कोड सिंक्रनाइज़ करने की आवश्यकता होगी ताकि केवल एक ही थ्रेड से एक समय में उपयोग किया जा सके?क्या माइक्रोसॉफ्ट एंटरप्राइज़ लाइब्रेरी 5.0 लॉगिंग एप्लिकेशन ब्लॉक थ्रेड सुरक्षित है?

उत्तर

8

एंटरप्राइज़ लाइब्रेरी 5.0 लॉगिंग थ्रेड सुरक्षित है।

लॉगिंग से पहले, ईएल TraceListener की संपत्ति की जांच करता है। यदि विशिष्ट TraceListener थ्रेड सुरक्षित नहीं है तो यह श्रोता की TraceData विधि को कॉल करने से पहले Monitor.Enter(listener); करेगा।

+0

मुझे आश्चर्य है कि अगर मुझे यह पता लगाना चाहिए या स्रोत पर जा रहा है तो –

+1

@ गैब्रियल को खोजने के लिए क्या आवश्यक है, मुझे आधिकारिक दस्तावेज़ों में केवल थ्रेड सुरक्षा लॉगिंग की कोई चर्चा नहीं दिखाई देती है कैशिंग ब्लॉक के बारे में। मैंने एक तीसरी पार्टी साइट देखी है कि यह थ्रेड सुरक्षित है लेकिन सत्यापित करने के लिए बेहतर है। –

0

जहां तक ​​मुझे पता है, एंटरप्राइज़ लाइब्रेरी 3.1 लॉगिंग थ्रेड सुरक्षित नहीं है। LogWriter कक्षा में GetAvailableTraceListeners (IList traceListeners) कॉल के आसपास लॉक नहीं है, जो लॉगर क्लास में स्थिर का उपयोग करता है।

संबंधित मुद्दे

 संबंधित मुद्दे