zoukankan      html  css  js  c++  java
  • DotNetNuke3.0.8文件管理器的错误及解决方法

    错误描述:
        以host登录DNN3.0.8网站,点击“常规任务”上的“文件”图标,会出现如下错误:

    错误: 文件管理器 当前无效.

    DotNetNuke.Services.Exceptions.ModuleLoadException: 未找到路径“F:\My Projects\Asp.NET Source\DotNetNuke\DotNetNuke_3.0.8\DNN3\Portals\0\”的一部分。 ---> System.IO.DirectoryNotFoundException: 未找到路径“F:\My Projects\Asp.NET Source\DotNetNuke\DotNetNuke_3.0.8\DNN3\Portals\0\”的一部分。 at System.IO.__Error.WinIOError(Int32 errorCode, String str) at System.IO.Directory.InternalGetFileDirectoryNames(String fullPath, String userPath, Boolean file) at System.IO.Directory.InternalGetDirectories(String path, String userPath, String searchPattern) at System.IO.Directory.GetDirectories(String path, String searchPattern) at DotNetNuke.Modules.Admin.FileSystem.FileManager.PopulateTree(TreeNodeCollection objNodes, String strPath) at DotNetNuke.Modules.Admin.FileSystem.FileManager.BindFolderTree() at DotNetNuke.Modules.Admin.FileSystem.FileManager.Page_Load(Object sender, EventArgs e) --- 内部异常堆栈跟踪的结尾 ---

    解决过程:
        1.先查看了一下路径“F:\My Projects\Asp.NET Source\DotNetNuke\DotNetNuke_3.0.8\DNN3\Portals\0\”不存在,
    实际上的路径是“F:\My Projects\Asp.NET Source\DotNetNuke\DotNetNuke_3.0.8\Portals\0\”,多出了这么一个“DNN3”来,这个DNN3就是我的网站的虚拟路径名,看来此处有蹊跷。
        2.接着查看DotNetNuke.Modules.Admin.FileSystem.FileManager.BindFolderTree() 函数,发现有这么关键的一句:
        _CurRootFolder = PortalSettings.HomeDirectoryMapPath
        跟踪到PortalSettings类Component\PortalSettings.vb)文件里的第122行,有下面一句:
        Return objFolderController.GetMappedDirectory(ApplicationPath & "/" & HomeDirectory)
        3.原来问题就在此处,ApplicationPath是“当前应用程序的虚拟路径”,原来FileManager.BindFolderTree() 函数里面要的路径是物理路径,而这句代码得到的却是一个虚拟路径+物理路径,看来是一个Bug啊!将代码进行如下修改:
       Return objFolderController.GetMappedDirectory(HomeDirectory)
    重新编译后,再运行网站,问题解决!

    一点心得:
        调试ASP.NET程序时应当善于利用错误信息,逐步分析,当然前题是要有程序本身要有良好的错误捕捉机制。
     

  • 相关阅读:
    mojo 接口示例
    MojoliciousLite: 实时的web框架 概述
    接口返回json
    centos 6.7 perl 版本 This is perl 5, version 22 安装DBI DBD
    centos 6.7 perl 5.22 安装DBD 需要使用老的perl版本
    商业智能改变汽车行业
    商业智能改变汽车行业
    读MBA经历回顾(上)目的决定手段——北漂18年(48)
    perl 升级到5.20版本
    Group Commit of Binary Log
  • 原文地址:https://www.cnblogs.com/soaring/p/85789.html
Copyright © 2011-2022 走看看