2008-09-26 13 views
7

हमारी वेब सेवा में लॉग इन करने के लिए मेरी आदर्श स्थिति सभी विधि कॉल (प्रमाणीकरण के साथ-साथ डेटा एक्सेस) को उनके द्वारा पारित पैरामीटर के साथ-साथ त्रुटियों के साथ लॉग इन करना होगा, और आपके पास हो सकता है उन्हें एक आईडी से जोड़ा जाता है जो उन्हें एक ही कॉल के साथ जोड़ता है। इसके अलावा, मैं आदर्श रूप से यह नियंत्रित करने में सक्षम होना चाहता हूं कि सभी पैरामीटर लॉग हैं या यदि विधि कॉल लॉग है। यदि सभी लॉग इन लॉग हैं या केवल असफल लोग हैं तो मैं नियंत्रण में सक्षम होना चाहता हूं। दोबारा, एक ही अनुरोध में पुनर्प्राप्त सभी जानकारी एक आईडी (guid या अन्यथा) के माध्यम से एक साथ जुड़ी होगी।नेट वेब सेवा लॉगिंग

यह मेरी आदर्श लॉगिंग स्थिति है। यदि कोई जानता है कि यह सब कैसे कार्यान्वित किया जाए और मैनचेस्टर, एनएच क्षेत्र में जाने के लिए तैयार हो जाएगा ...;)

लेकिन गंभीरता से, क्या किसी को पता है कि मैं किसी त्रुटि के लिए एक webservice अनुरोध लिखने के बारे में कैसे जाऊंगा, या विधि कॉल? मेरे शुरुआती प्रयासों में एक साबुन एक्सटेंशन में चारों ओर गड़बड़ करना शामिल है, एक हेडर (साबुन या एचटीएमएल) जोड़ने की कोशिश कर रहा है और विस्तार से सेवा में मनमाने ढंग से मूल्य को पास नहीं करना है। मेरे सभी प्रयास सफल नहीं हुए हैं।

हमारी वर्तमान लॉगिंग स्थिति में एक टेबल पर विधि प्रमाणीकरण लॉगिंग है, विधि/व्यवसाय किसी अन्य तालिका में कॉल करता है, और अपवाद किसी अन्य तालिका में लॉग इन करता है, जिसमें उनके बीच कोई अंतःक्रिया नहीं होती है। टाइमस्टैम्प सहायक होते हैं, कभी-कभी, लेकिन प्रभावी रूप से डीबग करने के लिए पर्याप्त विश्वसनीय नहीं होते हैं। हम वर्तमान में .NET 2.0 पर वर्ष के अंत तक 3.5 का उपयोग करने की क्षमता के साथ हैं, इसलिए अगर 2.0 कार्यक्षमता में जवाब रखा गया तो यह अधिक उपयोगी होगा।

किसी को भी कोई विचार है?

+0

... क्लॉस के समाधान के अलावा, मैं भी लॉग फ़ोल्डर के लिए अनुमतियां अपडेट करने के लिए, उनमें परिवर्तन के लिए "पूर्ण नियंत्रण" था। –

उत्तर

11

उपयोग WCF यदि संभव हो तो और लागू संदेश लॉगिंग देख http://msdn.microsoft.com/en-us/library/ms730064.aspx

<system.diagnostics> 
    <sources> 
     <source name="System.ServiceModel.MessageLogging"> 
     <listeners> 
       <add name="messages" 
       type="System.Diagnostics.XmlWriterTraceListener" 
       initializeData="c:\logs\messages.svclog" /> 
      </listeners> 
     </source> 
    </sources> 
</system.diagnostics> 

<system.serviceModel> 
    <diagnostics> 
    <messageLogging 
     logEntireMessage="true" 
     logMalformedMessages="false" 
     logMessagesAtServiceLevel="true" 
     logMessagesAtTransportLevel="false" 
     maxMessagesToLog="3000" 
     maxSizeOfMessageToLog="2000"/> 
    </diagnostics> 
</system.serviceModel> 
+1

आप शायद आउटपुट का विश्लेषण करने के लिए SvcTraceViewer प्रोग्राम का उपयोग करना चाहते हैं। (Http://msdn.microsoft.com/en-us/library/ms732023.aspx#sectionSection1) – Henrik

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