我使用.Net 3.5在C#中编写了一个支持COM interop的类库。该对象旨在为经典ASP页面提供一些实用程序功能。我编写了一个test.asp页面,该页面实例化了所需的对象并调用了它的方法。在我的机器上正常工作。
在另一台计算机(Windows Server 2003 - 标准版)上,虽然正确地向regasm注册了程序集,但它无法正常工作。我已经检查了注册表并且看起来没问题。
我得到的错误是“ASP 0177”(错误代码),“8000ffff; Server.CreateObject-Fehler”(错误描述),转换为Server.CreateObject-Error。
顺便说一下。程序集已签名,并且没有任何其他自定义构建程序集作为依赖项(只是系统内容)。
有没有人经历类似的事情?
答案 0 :(得分:6)
授予IUSR用户(或您的IIS用户是谁)对以下注册表项的读访问权限,并为我解决了问题。
HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones
答案 1 :(得分:2)
我认为这是一个安全问题。您似乎已经开发并测试了自己电脑中的组件,与服务器(通过示例安装Visual Studio)相比,它们有很多不同之处。
编辑:请看一下这个Microsoft“Hotfixes a hotfix”:
答案 2 :(得分:1)
设置此注册表项后,将重新启动一个简单的应用程序池。除了改组应用程序池之外,您的.NET COM组件不再会随机停止工作而没有真正的解决方案!