2016-04-05 15 views
8

मैं सी # एमवीसी वेबसाइट को लंबे समय तक सी # पर लिखा है। हाल ही में, मैं अपने लकड़हारा डेटा में इस लॉग संदेश देखा है:IOException: नेटवर्क नाम नहीं मिला

System.IO.IOException: The network name cannot be found. 

    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 
    at System.IO.FileSystemEnumerableIterator`1.CommonInit() 
    at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost) 
    at System.IO.Directory.EnumerateFiles(String path) 
    at System.Web.WebPages.Deployment.WebPagesDeployment.AppRootContainsWebPagesFile(String path) 
    at System.Web.WebPages.Deployment.PreApplicationStartCode.OnChanged(String key, Object value, CacheItemRemovedReason reason) 
    at System.Web.Caching.CacheEntry.CallCacheItemRemovedCallback(CacheItemRemovedCallback callback, CacheItemRemovedReason reason) 

मुझे यह भी पता:

  1. यह अपवाद ASP.global_asax फ़ाइल से फेंक दिया है।
  2. यह कुछ हफ्तों में एक समय के लिए होता है। लेकिन, जब ऐसा होता है, तो मैं अपने लॉगर में कुछ बार इस अपवाद को देखता हूं (प्रत्येक अपवाद के बीच एक सेकंड की देरी)।

जैसा कि आप देख सकते हैं, इस कॉल-स्टैक में कुछ भी मेरे कोड में नहीं है। इसलिए, मुझे नहीं पता कि इसे कैसे सुधारें या इसे हल करें।

आप इसे हल करने के लिए मुझे कैसे सलाह देते हैं? कोई भी युक्ति सहायक होगी।

+0

ऐसा लगता है कि कॉन्फ़िगरेशन फ़ाइल में कुछ नेटवर्क पथ पर इंगित कर रहा है। कभी-कभी कुछ सेकंड के लिए एसएमबी पथ अनुपलब्ध होते हैं। "//" के लिए सब कुछ Grep। – usr

+0

उन जगहों के लिए अपना कोड देखें जहां आप "फेंकते हैं"। बाधाएं किसी ने "फेंक अपवाद" किया है जो आपके स्टैक ट्रेस को खो देता है। अकेले "फेंक" के साथ प्रतिस्थापित करें और कम से कम आपको अगली बार काम करने के लिए एक पूर्ण स्टैक ट्रेस प्राप्त करना चाहिए। इस उत्तर में "फेंक" बनाम "फेंक पूर्व" पर जानकारी: https://stackoverflow.com/questions/2728640/what-does-throw-by-itself-do – user7396598

+0

क्या आप अपना ग्लोबल.एक्सएक्स कोड साझा कर सकते हैं ? –

उत्तर

-4

नेटवर्क शायद नीचे है, आप इस अपवाद को पकड़ने के लिए बस एक पकड़ जोड़कर इसे ठीक कर सकते हैं और एक संदेश प्रदर्शित कर सकते हैं कि नेटवर्क नाम का मेजबान नीचे है और इसे करने से पहले नेटवर्क समस्या को ठीक करना चाहिए फिर।

+1

यह टिप्पणी में होना चाहिए –

+2

स्पष्ट नहीं है। नेटवर्क नीचे है, मैं सहमत हूं। लेकिन, मैं यह पता नहीं लगा सकता कि यह अपवाद कहाँ से फेंक रहा है। शायद आप जानते हैं कि इस समस्याग्रस्त कोड का पता कैसे लगाएं? कॉल-स्टैक में कोई संकेत नहीं। – No1Lives4Ever

3

source code पर देखकर, यह अपवाद स्वयं ढांचे द्वारा ट्रिगर किया गया है।

यह HttpRuntime.AppDomainAppPath में सभी फ़ाइलों को गिनाने का प्रयास करता है। ऐसा लगता है कि यह पथ हमेशा आपके परिदृश्य में उपलब्ध नहीं है, जो थोड़ा अजीब लगता है। आप अपनी फाइलें कहां होस्ट कर रहे हैं?

मेरा सुझाव है कि आप HttpRuntime.AppDomainAppPath के मान को लॉग इन करें और वहां से खोजें। मुझे लगता है कि यह एक असामान्य मूल्य होगा ...

+1

हम एज़ूर ऐप सेवा पर ऐप होस्ट कर रहे हैं। मुझे लगता है कि यह संभवतः उनके वीएम के साथ कुछ आंतरिक मुद्दा है। –

+0

या Azure साइट इस सवाल की तरह "सोने जा रही है": https://stackoverflow.com/questions/33789895/how-to-prevent-an-azure-website-from-going-to-sleep – smoore4

+0

@ smoore4 यह ऐसा लगता है कि फ़ाइलपैथ अनुपलब्ध हो सकता है? –

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