如何从经典ASP调用的.NET DLL中访问文件系统?
问题描述:
我做了一个.NET DLL,并将其放在system32文件夹中,并将其注册到win2003服务器中。如何从经典ASP调用的.NET DLL中访问文件系统?
这个DLL的API之一是在c:/文件夹中创建一个文件。当我把这个API从传统的ASP脚本,总是得到这个错误
System.IO .__ Error.WinIOError
所以DLL或ASP进程没有足够的访问权限?如何给它写入权限?
谢谢
[编辑] DLL被称为ASP页,在浏览器中运行。
[编辑] 任何人都可以帮忙吗?
答
您可能会发现一些在这篇文章中的信息有所帮助:
Accessing a .NET Assembly from classic ASP
看看你的传统的ASP应用程序被下(看应用程序池)运行的用户,并授予访问该用户您尝试创建文件的文件夹。
另外,你确定错误是从DLL内部产生的,而不是因为你不能访问DLL本身?如果可能的话,使用一个简单的方法,如Ping或返回一个字符串的东西(即“Hello!”),看看是否有效。这样你至少知道你可以到达DLL并执行方法。
答
将权限添加到ASPNET或网络服务(取决于IIS的版本)。 您还可以更改IIS中应用程序池的标识。
我希望运行应用程序的用户没有访问权限。 – 2009-09-10 23:32:36
@詹姆斯布莱克:应该发布了一个答案 – 2009-09-10 23:48:11