2011-12-14 20 views
5

हाय मुझे कुछ सलाह चाहिए।एएसपीनेट एमवीसी साइट पर आंकड़े एकत्रित करना?

मुझे तीसरे पक्ष के उपकरण (जैसे Google anayltics) के बिना, मेरी साइट पर उपयोगकर्ता गतिविधि का ट्रैक रखने का एक तरीका चाहिए।

तो मूल रूप से मेरी साइट पर आने वाला कोई भी अनुरोध मुझे एक एसिंक कार्य की आग लगाना होगा जो उपयोगकर्ता पर जानकारी एकत्र करेगा और डीबी को लिख देगा। ऐसा करने का सबसे अच्छा तरीका क्या है?

मैंने एसिंक प्रेसेफैंडर लिखने की कोशिश की है लेकिन मैं काम नहीं कर सका। यह प्रत्येक अनुरोध के लिए कई बार मारा जाता है (सीएसएस jpg जैसे सभी संसाधन फ़ाइलों के लिए ...)।

+1

इसने पिछले 3 वर्षों में मुझे अच्छी तरह से सेवा दी है। http://codereview.stackexchange.com/questions/4659/optimizing-a-fire-and-forget-page-tracker मैंने इसे तेजी से बनाने में थोड़ी सी सहायता प्राप्त करने के लिए पोस्ट किया है, लेकिन यह 3 मिलियन से अधिक पंक्तियों के साथ 3 वर्षों तक काम कर रहा है अब तक टेबल में। अधिक होगा लेकिन मैं समय-समय पर प्रूफ करता हूं। –

+0

जानकारी टिम के लिए धन्यवाद। मैं एक कस्टम फिल्टर का उपयोग कर समाप्त हो गया। कि मैंने global.asax फ़ाइल में पंजीकृत किया है। – usermon

उत्तर

2

मैं वर्तमान में कुछ ऐसा करने के लिए log4net का उपयोग कर रहा हूं।

मैंने अपने लॉग 4नेट को इस article के समान ही सेट किया है। उसके बाद आप एक लॉगर विशेषता बना सकते हैं जो एक्शनफिल्टर एट्रिब्यूट को विरासत में लेता है जिसे आप अपने नियंत्रकों से जोड़ सकते हैं, मेरे पास व्यक्तिगत आधारभूत नियंत्रक है जिसे मैंने अपने लॉगर विशेषता को लागू किया है।

आपकी विशेषता में आप OnActionExecuting को ओवरराइड कर देंगे और वर्तमान में आपके लॉग 4नेट लॉगर में निष्पादित कार्रवाई के बारे में सारी जानकारी लॉग कर देंगे। बस सुनिश्चित करें कि आप आधार शामिल हैं .ऑनएक्शन एक्स्क्रिप्टिंग (फ़िल्टरकॉन्टेक्स्ट) आप किसी भी एमवीसी प्लंबिंग को पेंच नहीं करना चाहते हैं, आप बस कुछ लॉगिंग करने के लिए इसे एक बिंदु पर जोड़ रहे हैं।

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