IIS लॉग्स sc-win32-status = 64 दिखाते हैं लेकिन केवल कुछ नेटवर्क के माध्यम से


12

मेरे पास एक ASP.NET अनुप्रयोग क्लाइंट सर्वर (W2k3, IIS6, .NET 2.0) पर चल रहा है। FWIW, यह एक परीक्षण उदाहरण है, इसे अभी तक उत्पादन में स्थानांतरित नहीं किया गया है। इसलिए यह एसएसएल, लोड बैलेंसिंग आदि के तहत नहीं चल रहा है।

जब हम हमारे कार्यालय से उनके सर्वर के किसी एक पेज को एक्सेस करते हैं, तो पेज एक बार हिट हो जाता है। IIS लॉग का निरीक्षण करना (c: WINDOWS \ system32 \ LogFiles \ W3SVC1) उस पृष्ठ के लिए एक GET दिखाते हैं, फिर मैं पृष्ठ पर एक बटन धक्का देता हूं और लॉग फ़ाइल एक POST दिखाती है। यह अब तक ठीक काम कर रहा है।

अब जब मैं क्लाइंट के नेटवर्क में रिमोट करता हूं और उनके किसी स्थानीय मशीन से पेज को एक्सेस करता हूं, तो लॉग फाइल एक जीईटी दिखाती है, फिर मैं पेज पर बटन दबाता हूं और लॉग एक ही सेकंड में दो POST दिखाता है । पहला वाला स्टेटस (sc-status, sc-substatus, sc-win32-status) 200 0 64 दिखाता है, दूसरा शो 200 0 0 दिखाता है।

लॉग फ़ाइल में, दोनों POST समान हैं। मूल रूप से लॉग इस तरह दिखता है (केवल कुछ आंकड़ों को छोड़कर)

# फ़ील्ड: दिनांक समय s-ip cs-method cs-uri-स्टेम सीएस-यूआरआई-क्वेरी s- पोर्ट सीएस-उपयोगकर्ता नाम c-ip cs (उपयोगकर्ता-एजेंट) sc- स्थिति sc-substatus sc-win32-status 
2009-08-11 20:19:32 xxxx GET /File.aspx - 80 - yyyy मोज़िला / + (संगत; + MSIE + 8.0; + Windows + NT + 6.0; + WOW64; + त्रिशूल / 4.0; + SLCC1; + नेट + CLR + 2.0.50727;। + नेट + CLR + 3.5.21022;। + नेट + CLR + 3.5.30729;। + नेट + CLR + 3.0.30618; + MDDR; + OfficeLiveConnector.1.4; + OfficeLivePatch .0.0) 200 0 0
2009-08-11 20:19:45 xxxx POST /File.aspx - 80 - yyyy मोज़िला / + (संगत; + MSIE + 8.0; + Windows + NT + 6.0; + WOW64; + त्रिशूल / 4.0; + SLCC1; + नेट + CLR + 2.0.50727;। + नेट + CLR + 3.5.21022;। + नेट + CLR + 3.5.30729;। + नेट + CLR + 3.0.30618; + MDDR; + OfficeLiveConnector.1.4; + OfficeLivePatch .0.0) 200 0 64
2009-08-11 20:19:45 xxxx POST /File.aspx - 80 - yyyy मोज़िला / + (संगत; + MSIE + 8.0; + Windows + NT + 6.0; + WOW64; + त्रिशूल / 4.0; + SLCC1; + नेट + CLR + 2.0.50727;। + नेट + CLR + 3.5.21022;। + नेट + CLR + 3.5.30729;। + नेट + CLR + 3.0.30618; + MDDR; + OfficeLiveConnector.1.4; + OfficeLivePatch .0.0) 200 0 0

समस्या यह है कि पेज दो बार हिट हो रहा है। डेटाबेस पहले अनुरोध के लिए एक ऑपरेशन करता है, फिर दूसरा अनुरोध यह पता लगाता है कि एक डुप्लिकेट ऑपरेशन किया जा रहा है और एक त्रुटि संदेश फेंकता है। उपयोगकर्ताओं को लगता है कि उनका ऑपरेशन विफल हो गया, लेकिन यह वास्तव में सफल रहा।

Sc-win32-status 64 का त्रुटि विवरण है: "निर्दिष्ट नेटवर्क नाम अब उपलब्ध नहीं है।" यह मुझे विश्वास दिलाता है, यह देखते हुए कि दोनों POST अनुरोध 200 की HTTP स्थिति दिखाते हैं, कि सर्वर अनुरोध को पूरा करने में सफल है, लेकिन ग्राहक को कभी सूचित नहीं किया जाता है और अनुरोध को फिर से जारी करता है।

  • मैं इसका निवारण कैसे कर सकता हूं?

  • कोई भी विचार जो केवल उनके आंतरिक नेटवर्क पर इस व्यवहार का कारण हो सकता है?

  • मैं उल्लेख करना चाहिए, इस दो अलग-अलग ग्राहक स्थलों पर हो रहा है, लेकिन है नहीं हमारे अन्य ग्राहक साइटों की छह पर हो, या हमारे कार्यालय में, या वेब पर हमारे आठ ग्राहकों में से किसी को जोड़ने।

  • इस प्रजनन योग्य समय को उनके स्थानीय नेटवर्क पर 100% बना सकता है, लेकिन 0% समय कहीं और?

अपडेट: मैंने पाया कि बहुत कम संख्या में डुप्लिकेट किए गए POST अनुरोधों में 64 की बजाय 995 की sc-win32-status थी। Sc-win32-status = 995 का त्रुटि विवरण है: "I / O ऑपरेशन को थ्रेड निकास या अनुप्रयोग अनुरोध के कारण निरस्त कर दिया गया है।" इसका कोई मतलब नहीं है (यह मानते हुए कि मेरे पास कोड तक पूरी पहुंच है)। मुझे अभी भी समझ नहीं आया है कि यह समस्या कैसे या क्यों हो रही है, लेकिन नया त्रुटि कोड मुझे विश्वास दिलाता है कि यह सब के बाद एक नेटवर्क मुद्दा नहीं हो सकता है और मैं अब एक यादृच्छिक कोड बग की संभावना की जांच कर रहा हूं।


क्या आपके पास सर्वर पर सभी लॉग फ़ील्ड सक्षम हैं? क्या आप 2 POST अनुरोधों के लिए लॉग डेटा का अधिक पोस्ट कर सकते हैं?
स्क्विलमैन

मुझे यकीन नहीं है कि सभी क्षेत्र सक्षम हैं, लेकिन मैंने जो कुछ भी देखा है उसका एक टुकड़ा डाल दिया।
20

बस एक विचार है, लेकिन क्या यह भी होता है अगर एक ही मशीन में एक उपयोगकर्ता इसे शारीरिक रूप से कर रहा है? मैं सोच रहा हूं कि आपके दूरस्थ सत्र से गुजरने वाले विचित्र माउस क्लिक हैं। यदि आप बटन को टैब करते हैं और एंटर दबाकर इसे सक्रिय करते हैं तो क्या यह वही काम करता है?
स्क्विलमैन

1
बटन को टॉगल करने के बाद खुद को छिपाने के लिए बनाया गया है, चाहे वह एक क्लिक या टेबिंग और एंटर दबाने के साथ हो, एक आकस्मिक "डबल क्लिक" को रोकने के लिए बटन अदृश्य हो जाएगा। यह वही है जो हमने सोचा था कि मूल रूप से हो रहा था, लेकिन जावास्क्रिप्ट का उपयोग करके खुद को छिपाने के लिए बटन को अपडेट करने के बाद हमें अंतर्निहित नेटवर्क समस्या मिली।
21

जवाबों:


18

इस मुद्दे पर मेरी अब तक की समझ है:

  • sc-win32-status 64 का अर्थ है "निर्दिष्ट नेटवर्क नाम अब उपलब्ध नहीं है।"
  • IIS द्वारा क्लाइंट को अंतिम प्रतिक्रिया भेजे जाने के बाद, आमतौर पर वह क्लाइंट से ACK संदेश की प्रतीक्षा करता है।
  • कभी-कभी क्लाइंट अंतिम ACK को सर्वर पर भेजने के बजाय कनेक्शन रीसेट कर देंगे। यह एक ग्रेसफुल कनेक्शन नहीं है, इसलिए IIS "64" कोड को लॉग करता है।
  • कई क्लाइंट कनेक्शन को तब रीसेट करेंगे जब वे इसके साथ हो जाएंगे, सॉकेट को TIME_WAIT / CLOSE_WAIT में छोड़ने के बजाय इसे खाली कर देंगे।
  • प्रॉक्सी ऐसा करते हैं जो दूसरों की तुलना में अधिक करते हैं।

अद्यतन: मुझे यहाँ और यहाँ कुछ दिलचस्प जानकारी मिली , इसलिए मैंने मूल रूप से यह सुनिश्चित करने के लिए पृष्ठ को फिर से लिखा कि कोई भी खराब मार्कअप आदि नहीं था और ... समस्या अब दूर हो गई है! यह सिर्फ अंधेरे में एक शॉट था, और मैं निश्चित रूप से यह नहीं कह सकता था कि यह क्या समस्या है, क्योंकि यह केवल कुछ विशिष्ट परिस्थितियों में हमारे कुछ ग्राहकों को प्रभावित कर रहा था ...


आपसे अपेक्षा की जाती है कि आप अपने संदर्भों का हवाला दें। forums.devshed.com/showpost.php?p=1686138&postcount=9
अमित नायडू

2

मैं एक ही समस्या का अनुभव किया जब एक प्रॉक्सी सर्वर के माध्यम से IIS6 से gzipped बाइनरी फ़ाइलों की सेवा करने की कोशिश कर रहा है। सीधे वेबसाइट पर जाने पर मुझे कोई समस्या नहीं हो रही थी।

मैंने पाया कि यह मेरे मामले में एक ग्राहक मशीन पर फ़िडलर को चलाने और प्रतिक्रिया का निरीक्षण करने का कारण था। फ़िडलर ने चेतावनी दी है कि प्रतिक्रिया एन्कोडेड है और फिर शिकायत करती है कि gzip फ़ाइल पर मैजिक नंबर सही नहीं था।

मैंने अपने कोड में बाइनरी फ़ाइलों के लिए gzip संपीड़न को बंद कर दिया और समस्या उत्पन्न होना बंद हो गई।


-2

मैं इस पर कोई विशेषज्ञ नहीं हूं, लेकिन मैं एक ऐसी ही समस्या के कारण आया जो केवल होस्टनाम के बजाय आईपी पते का उपयोग करते समय हुआ था।

शायद यह थोड़ा मदद करता है ...

चटाई।


आपने इस मुद्दे को हल करने के लिए क्या किया? हम होस्टनाम का उपयोग कर रहे हैं, लेकिन शायद क्लाइंट और सर्वर के बीच एक प्रॉक्सी सर्वर हो सकता है जो इसके बजाय आईपी का उपयोग कर रहा है ..?
wweicker
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.