Lucene.Net 在我的主机上失败,因为它调用 GetTempPath()。有什么解决办法吗?

2023-11-29

我在共享主机上的 ASP.NET 应用程序中使用 Lucene.Net。得到如下所示的堆栈跟踪。有什么解决办法吗?

[SecurityException:请求“System.Security.Permissions.EnvironmentPermission,mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”类型的权限失败。] System.Security.CodeAccessSecurityEngine.Check(对象需求, StackCrawlMark& stackMark, Boolean isPermSet) +0 System.Security.CodeAccessPermission.Demand() +59 系统.IO.Path.GetTempPath() +54 Lucene.Net.Store.FSDirectory..cctor() +73


这是我自己的问题的答案。解决方案是修改 Lucene.Net.Store.FSDirectory,注释掉未使用的行:

// Comments out by Corey Trager, Oct 2008 to workaround permission restrictions at shared host.  This is not used.
//        public static readonly System.String LOCK_DIR = SupportClass.AppSettings.Get("Lucene.Net.lockDir", System.IO.Path.GetTempPath());

之后还有一个安全许可障碍,这也是解决方法。我不明白为什么一种获取目录中文件名的方法会被阻止,而另一种方法不会被阻止。

    public override System.String[] List()
    {

/* Changes by Corey Trager, Oct 2008, to workaround permission restrictions at shared host */
            System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(directory.FullName);
            System.IO.FileInfo[] files = dir.GetFiles();
            string[] list = new string[files.Length];
            for (int i = 0; i < files.Length; i++)
            {
                list[i] = files[i].Name;
            }
            return list;
/* end of changes */

//            System.String[] files = SupportClass.FileSupport.GetLuceneIndexFiles(directory.FullName, IndexFileNameFilter.GetFilter());
//            for (int i = 0; i < files.Length; i++)
//            {
//                System.IO.FileInfo fi = new System.IO.FileInfo(files[i]);
//                files[i] = fi.Name;
//            }
//            return files;
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Lucene.Net 在我的主机上失败,因为它调用 GetTempPath()。有什么解决办法吗? 的相关文章

  • 我的 MS Access 数据库不会更新 asp.net

    我正在尝试更新我的数据库但没有成功 这就是我的桌子的样子 https i stack imgur com Q6EDk png https i stack imgur com Q6EDk png 打开模态后 它看起来像这样 https i s
  • asp.net 视图状态加密

    我有几个关于何时以及如何在 ASP NET 3 5 中加密视图状态的问题 例如 如果我的 web config 中有一个机器密钥条目 例如 解密Key 自动生成 IsolateApps 验证 AES 解密 自动 gt 此时视图状态是否已加密
  • 通过 SharpDX 渲染 Direct2D 图像时如何使用内存流而不是文件?

    设置 考虑使用给定的临时程序SharpDX http code google com p sharpdx Direct 库的托管包装器 用于渲染位图并将其保存为 PNG namespace ConsoleApplication5 using
  • OWIN 可以替代 ASP.NET MVC 应用程序中的 DI 吗?

    大约一年前 在 Visual Studio 中创建时自动生成的 MVC 项目不包含任何有关 OWIN 的内容 作为再次申请并试图了解这些变化的人 我想知道 OWIN 是否可以替代我的 DI 据我了解 Startup Auth cs 中的以下
  • 如何在c#中生成8字节GUID值? [复制]

    这个问题在这里已经有答案了 可能的重复 如何从 GUID 生成 8 字节唯一 ID https stackoverflow com questions 5678177 how to generate 8 bytes unique id fr
  • 管理调试和发布连接字符串

    在 NET SQLServer 应用程序中管理调试和发布连接字符串的好方法是什么 我有两个 SQL Server 一个是生产服务器 一个是构建 调试服务器 我需要一种在部署 ASP NET 应用程序时在这两个服务器之间进行切换的方法 目前
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • 将 HTML 表格导出到 Excel

    我在 ASP NET MVC 视图页面上有 HTML 表 现在我必须将该表导出到 Excel 1 我使用部分视图 Inquiries ascx 来显示数据库中的表数据 使用LINQ to Entity 2 我还使用了 UITableFilt
  • 对于 HTTPS,Request.UrlReferrer 为 NULL

    我在用 Request UrlReferrer AbsoluteUri 在我的项目中获取托管我的应用程序的 URL 如果我从 http 主机重定向 我可以获得 URL 但如果我从 https 主机重定向 我将得到 null 我怎样才能得到
  • 在 gridview 控件中使用单选按钮

    我有一个 gridview 控件 其中使用存储过程显示数据 该网格有三列 第一列包含单选按钮 总体思路是用户应该能够从 在我的例子中 5 个单选按钮中仅选择一个单选按钮 当前功能的问题是我可以同时选择所有单选按钮 我尝试使用 groupna
  • 正则表达式最多匹配五个单词

    我有一个正则表达式 a zA Z 0 9 1 5 它验证该单词包含字母数字字符和少数特殊字符 并且长度不应超过5人物 如何使此正则表达式接受最多五个与上述正则表达式匹配的单词 a zA Z 0 9 1 5 s a zA Z 0 9 1 5
  • 获取GridView中选定行的索引

    我想使用复选框获取从 gridview 选择的行 复选框是这样的
  • 将 Windows 窗体应用程序转换为 Asp.net

    我问的是 您之前使用的将 C Windows 窗体应用程序转换为 ASP NET 的最佳工具是什么 我已经关于这个主题 发现了很多工具 但我希望有人根据他的使用情况推荐最好的工具 我真的不建议使用工具来进行转换 Web 应用程序和 WinF
  • 使用Intent拨打电话需要权限吗?

    在我的一个应用程序中 我使用以下代码来拨打电话 Intent intent new Intent Intent ACTION CALL Uri parse startActivity intent 文档说我确实需要以下清单许可才能这样做
  • 如何在 C# 中将 ListView 与目录和文件绑定

    我想在 C 的 ListView 中绑定 C 驱动器中的所有目录和文件 我的代码是 protected void Page Load object sender EventArgs e DirectoryInfo di new Direct
  • 使用内存中的单元测试 .ToListAsync()

    下面是由于内存数据库集不支持 ToListAsync 而在 ShouldNotThrow 上失败的测试 我没有方便的确切措辞 但你明白了 如果它很重要 我正在尝试模拟实体框架版本提供的数据库集 6 1 3 TestFixture publi
  • 使用 Tempdata 使我的应用程序崩溃

    我对 ASP NET 非常陌生 正在尝试在我在 Visual Studio 2015 中制作的 Web 应用程序中的两个控制器之间传递对象 该 Web 应用程序正在使用 ASP Net 5 预览模板 Web 应用程序 如果有帮助 我想我正在
  • 设置国际货币格式

    我有一个 asp net 应用程序 我们正在 全球化 过程中 我将 currentculture 和 currentUICultre 设置为适当的值 并且货币按预期使用货币格式显示 即 FormatCurrency nPrice 产生 en
  • 将 MVC 站点部署到 IIS 会导致找不到默认共享部分视图

    我有一个可以在本地 IIS 上完美运行的网站 我的所有页面都使用默认的共享部分视图 这称为预期 Layout cshtml 该视图放置在我的共享文件夹中 这可以在这里看到 正如我所期望的那样 这非常有效 不过 我现在发布了我的网站 然后 我
  • 有没有办法在 ASP.net 中制作像 gmail 那样的进度条?

    有没有办法在 ASP net 中制作像 gmail 那样的进度条 以下是一些基于 ASP NET 的进度栏控件 ASP NET AJAX 进度条控件 http mattberseth com blog 2008 05 aspnet ajax

随机推荐