【问题标题】:How to access filesystem from within a .NET dll called by classic ASP?如何从经典 ASP 调用的 .NET dll 中访问文件系统?
【发布时间】:2009-09-10 23:26:14
【问题描述】:

我制作了一个 .NET dll 并将其放在 system32 文件夹中,然后将其 RegAsm 到 win2003 服务器中。

这个 dll 的 API 之一是在 c:/ 文件夹中创建一个文件。当我从一个经典的 ASP 脚本调用这个 API 时,总是得到这个错误

System.IO.__Error.WinIOError

所以dll或asp进程没有足够的访问权限?如何给它写权限?

谢谢

[编辑] dll 在 ASP 页中调用,在浏览器中运行。

[编辑] 有人可以帮忙吗?

【问题讨论】:

  • 我希望运行该应用的用户没有访问权限。
  • @James Black:应该已经发布了答案

标签: .net dll asp-classic


【解决方案1】:

您可能会发现这篇文章中的一些信息很有帮助:

Accessing a .NET Assembly from classic ASP

查看您的经典 asp 应用程序在哪个用户下运行(查看应用程序池)并授予该用户对您尝试创建文件的文件夹的访问权限。

另外,您确定错误是从 DLL 内部生成的,而不是因为您无法访问 DLL 本身吗?如果可能,请使用 Ping 之类的简单方法或返回字符串(即“Hello!”)的方法,看看是否可行。这样您至少会知道您可以访问 DLL 并执行方法。

【讨论】:

    【解决方案2】:

    添加对 ASPNET 或网络服务的权限(取决于 IIS 的版本)。 您还可以在 IIS 中更改应用程序池的标识。

    【讨论】:

      猜你喜欢
      • 2013-03-04
      • 2012-05-01
      • 2019-01-29
      • 1970-01-01
      • 2011-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-24
      相关资源
      最近更新 更多