2012-06-21 29 views
5

मैं एएसपी.नेट एमवीसी 4 वेब एपीआई में लॉगजिन/ट्रेसिंग को सक्षम करने के लिए एक फीचर खोज रहा हूं। डब्ल्यूसीएफ में आप लॉगिंग सक्रिय कर सकते हैं और डब्ल्यूसीएफ लिखता है कि यह कर रहा है। फिर, मैं डंप खोल सकता हूं और त्रुटियों की खोज कर सकता हूं।एएसपी.नेट एमवीसी 4 वेब एपीआई: डायग्नोस्टिक फीचर्स

मैं अपने वेब एपीआई का पता लगाने के लिए नहीं चाहता हूं लेकिन लॉग इन कर रहा हूं कि लॉग इन कर रहा हूं। अगर मैं संदेश हैंडलरों के साथ वेब एपीआई का पता लगाता/लॉग करता हूं तो मुझे कोई जानकारी नहीं मिलती है अगर मेरे कार्यान्वयन से पहले कोई त्रुटि उत्पन्न होती है।

उत्तर

4

मैं दो चीजों की सिफारिश करता हूं।

1) फेंकने वाले अपवादों पर पूर्ण विवरण प्राप्त करने के लिए, मैं हमेशा त्रुटि नीति सेट करता। यह आपके कोड से अधिक विस्तार अपवाद संदेश वापस करना चाहिए।

GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; 

मुझे लगता है कि यह केवल आरसी में काम करता है।

2) फिर मैं एक संदेश हैंडलर को तारों का सुझाव देने का भी सुझाव दूंगा जिसका उपयोग आप अतिरिक्त अनुरोध/प्रतिक्रिया जानकारी के लिए कर सकते हैं। संदेश अनुरोधक तब चलेंगे जब नए अनुरोध आते हैं और अंतिम प्रतिक्रिया वापस आने से ठीक पहले। इस ऑनलाइन के कई उदाहरण हैं। WebAPIContrib एक है में यह GitHub repo है आप एक example

3) आप अन्य सर्वर की घटनाओं की निगरानी करना चाहते हैं के रूप में पर एक नज़र ले जा सकते हैं, तो आप, asp.net health monitoring उपयोग करने पर विचार करने के लिए जब तक आप एएसपी में होस्ट कर रहे हैं चाहते हो सकता है। निश्चित रूप से नेट। यह आपको विभिन्न ऑडिट करने और सर्वर त्रुटियों की निगरानी करने की अनुमति देगा।

+0

हाय, मैं संदेश संचालकों उपयोग करने के लिए है क्योंकि वे इस मामले में काम नहीं करेगा नहीं करना चाहती। मुझे एक लॉग की जरूरत है कि ढांचा कर रहा है। उदाहरण के लिए, सर्वर-स्टार्ट के दौरान कोई त्रुटि उत्पन्न होने पर संदेश हैंडलर कॉल नहीं होंगे। – user437899

+0

सर्वर त्रुटियां तब वेब एपीआई के लिए विशिष्ट नहीं होंगी। क्या आपने स्वास्थ्य निगरानी पर ध्यान दिया है? मैं इसे अपने उत्तर के कुछ लिंक के साथ जोड़ सकता हूं – cecilphillip

+4

आपको * कभी भी * शामिल नहीं करना चाहिए ** शामिल करें IDERDetailPolicy.Always ** उत्पादन वातावरण में यह एक सूचना Diclosure भेद्यता है: अपवाद में विवरण शामिल हैं जिनका उपयोग आप सिस्टम को हैक करने के लिए एक रास्ता खोजने के लिए किया जा सकता है (https://www.owasp.org/index.php/Information_Leak_(information_disclosure देखें) – Isantipov

7

http://www.asp.net/web-api/overview/testing-and-debugging/tracing-in-aspnet-web-api

देखें आप एक ITraceWriter कार्यान्वयन (जो System.Diagnostics.Trace बुला के रूप में सरल हो सकता है) प्रदान करते हैं, वेब एपीआई ढांचे का पता लगाने जाएगा यह क्या करता है।

  • माइक
संबंधित मुद्दे