2012-06-05 19 views
6

में डब्ल्यूसीएफ सेवा से संपर्क करते समय सहकर्मी (502) द्वारा कनेक्शन रीसेट करें हमारे पास एक डब्ल्यूसीएफ सेवा है जो महीनों के लिए ठीक काम कर रही है। बस आज सुबह, इस सेवा के लिए कॉल प्रॉक्सी सर्वर रिपोर्टिंग "सहकर्मी द्वारा कनेक्शन रीसेट" (502) के साथ विफल होने लगे। विचित्र रूप से पर्याप्त गिराए गए कनेक्शन के लिए आईआईएस लॉग प्रविष्टियां नहीं हैं, हालांकि हम उन्हें वायरशर्क के साथ पहचानने में सक्षम हैं। तो ऐसा लगता है जैसे धागा मर रहा है, पीछे कोई निशान नहीं छोड़ रहा है।आईआईएस 7.5

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

क्या किसी ने इसका अनुभव किया है? समस्या निवारण के तरीके पर कोई सुझाव?

उत्तर

16

अपवादों के बारे में अधिक जानकारी प्राप्त करने के लिए आप अपनी सेवा पर डब्ल्यूसीएफ डायग्नोस्टिक्स चालू कर सकते हैं।

आप जल्दी से जा रहा प्राप्त करने के लिए - अपने वेब (या एप्लिकेशन) में config:

1) विन्यास तत्व के तहत कहीं भी System.Diagnostics अनुभाग जोड़ें। आप पथ को प्रतिस्थापित कर सकते हैं जिसके साथ आप जिस फ़ाइल को फाइलों को संग्रहीत करना चाहते हैं।

<diagnostics wmiProviderEnabled="false"> 
     <messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" /> 
    </diagnostics> 

3) सी के तहत:: \ Program Files (x86) \ माइक्रोसॉफ्ट SDKs \ Windows \ v7.0A \ बिन \ शुरू SvcTraceViewer.exe

<system.diagnostics> 
    <sources> 
     <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing"> 
     <listeners> 
      <add type="System.Diagnostics.DefaultTraceListener" name="Default"> 
      <filter type="" /> 
      </add> 
      <add name="ServiceModelMessageLoggingListener"> 
      <filter type="" /> 
      </add> 
     </listeners> 
     </source> 
     <source name="System.ServiceModel" switchValue="Warning, ActivityTracing" propagateActivity="true"> 
     <listeners> 
      <add type="System.Diagnostics.DefaultTraceListener" name="Default"> 
      <filter type="" /> 
      </add> 
      <add name="ServiceModelTraceListener"> 
      <filter type="" /> 
      </add> 
     </listeners> 
     </source> 
    </sources> 
    <sharedListeners> 
     <add initializeData="C:\temp\services_messages.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelMessageLoggingListener" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack"> 
     <filter type="" /> 
     </add> 
     <add initializeData="C:\temp\services_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelTraceListener" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack"> 
     <filter type="" /> 
     </add> 
    </sharedListeners> 
    </system.diagnostics> 

2) system.ServiceModel के तहत निम्नलिखित जोड़ें । दोनों संदेश ट्रेस (services_messages.svclog) और सर्विस ट्रेस लॉग (services_tracelog.svclog) लोड करें। आप या तो टूल में फ़ाइलों को ड्रैग कर सकते हैं या एक खोल सकते हैं, फिर एक और

4) किसी समस्या के लिए लाल बोल्ड अक्षरों को ढूंढें।

यदि आप अपने अनुभव को डब्ल्यूसीएफ कॉन्फ़िगरेशन को अधिक आकर्षक बनाने के लिए बनाना चाहते हैं तो आप SvcConfigEditor.exe का उपयोग कर सकते हैं जो SvcTraceViewer.exe (# 3) के समान फ़ोल्डर के अंतर्गत मिलता है। बस कॉन्फ़िगरेशन फ़ाइल खोलें और आपको डायग्नोस्टिक फ़ोल्डर देखना चाहिए जो आपको डायग्नोस्टिक्स को प्रारंभ/बंद और कॉन्फ़िगर करने की अनुमति देगा।

+1

धन्यवाद! आखिरकार मैं ट्रेस लॉग में अपवाद ढूंढ पाया, जिसने समाधान का नेतृत्व किया। –

+0

@ एनडब्ल्यू। क्या समस्या थी? क्या आप इसे साझा कर सकते हैं? – Siddhesh

+0

चरण 2) वैकल्पिक है और संदेश लॉगिंग कॉन्फ़िगरेशन अनुभाग की घोषणा की आवश्यकता है। –

1

समस्या निवारण के लिए, WCF trace कभी-कभी इन समस्याओं को समझने में सहायता कर सकता है।

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