我在C#上运行了一个很长时间的C#MVC网站。最近,我在记录器数据中注意到此日志消息:

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)

我也知道:
  • ASP.global_asax文件引发此异常。
  • 这在几周内发生了一次。但是,当发生这种情况时,我在记录器中几次看到此异常(每个异常之间的延迟时间为一秒钟)。

  • 如您所见,我的代码中没有这个调用栈。因此,我不知道该如何重现或解决此问题。

    您如何建议我解决这个问题?任何提示都会有所帮助。

    最佳答案

    查看source code,此异常由框架本身触发。

    它尝试枚举HttpRuntime.AppDomainAppPath中的所有文件。在您的情况下,此路径似乎并不总是可用,这似乎有些奇怪。您在哪里托管文件?

    我建议您记录HttpRuntime.AppDomainAppPath的值并从那里搜索。我认为这将是一个不寻常的值(value)。

    关于c# - IOException:找不到网络名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36422473/

    10-12 07:32