हम एल्मा के साथ हमारी webservice त्रुटियों को लॉग करने के लिए here वर्णित दृष्टिकोण का उपयोग कर रहे हैं। और यह वास्तव में काम करता है, लेकिन दुख की बात है कि उपयोगकर्ता नाम मधुमक्खी खाली है।डब्लूसीएफ वेबसाइट सर्विसेज के लिए एल्माह के साथ उपयोगकर्ता नाम लॉगिंग
हमने कुछ डिबगिंग और पाया, कि त्रुटिHandler में त्रुटि लॉगिंग करते समय HttpContext.Current.User
में सही उपयोगकर्ता सेट है।
हम यह भी कोशिश की:
HttpContext context = HttpContext.Current;
ErrorLog.GetDefault(context).Log(new Error(pError, context));
और
ErrorLog.GetDefault(null).Log(new Error(pError));
सफलता नहीं मिली।
कोई विचार है कि हम एल्माह को उपयोगकर्ता नाम कैसे लॉग कर सकते हैं?
एक sidenote पर, सीधे webservice के भीतर त्रुटि लॉगिंग करते समय, उपयोगकर्ता नाम अपेक्षित के रूप में लॉग किया जाता है। लेकिन यह दृष्टिकोण लेना बहुत मुश्किल नहीं है।
क्या मैं सही हूँ कि साथ Pricipal की स्थापना: 'Thread.CurrentPrincipal = नए GenericPrincipal (नई जेनेरिक इडेंटिटी ("लाला"), नई स्ट्रिंग [0]) थ्रेडपूलिंग के कारण एक बुरा विचार है? – Thomas
हां, आप थ्रेड प्रिंसिपल –
के साथ गड़बड़ नहीं करना चाहते हैं और अगर मैं इसे elmah के साथ त्रुटि लॉग करने के बाद पुराने प्रिंसिपल पर वापस सेट करता हूं? – Thomas