加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

iis-7 – ASP页面中的错误“80131509”

发布时间:2020-12-16 03:48:12 所属栏目:asp.Net 来源:网络整理
导读:我们创建了一个.Net程序集并使其可以作为COM对象访问.当我们尝试在ASP页面中公开此对象的任何方法时,我们得到一个错误“80131509”.我们在实例化Object时没有收到任何错误.即Server.CreateObject正在通过. 这在我们的开发环境中运行良好,但我们在UAT环境中遇
我们创建了一个.Net程序集并使其可以作为COM对象访问.当我们尝试在ASP页面中公开此对象的任何方法时,我们得到一个错误“80131509”.我们在实例化Object时没有收到任何错误.即Server.CreateObject正在通过.

这在我们的开发环境中运行良好,但我们在UAT环境中遇到此错误.开发和UAT几乎相同,只是UAT更安全.我尝试了所有可能的方法,但没有运气.我正在处理这个问题过去4天,任何帮助将不胜感激.

我怀疑在暴露该DLL时IIS 7可能存在一些权限问题.但不确定它可能是什么?我们也给了IUSR完全的权利.

代码:

set obj = Server.CreateObject("DataAccess")
dim rs
set rs=obj.GetLocations("All") <--- **Here i am getting an error.**

解决方法

我们在工作中有一些共同点,我们经常遇到问题,我们用regasm注册dll并且dll不起作用.它适用于其他实时环境但由于某种原因它只在这一个实例中不起作用. Com dlls变幻无常.有时我们会注册它,注销它,重新注册它,然后重启.有时他们神秘地开始工作,而不是.

还有一些问题可能会出错.

确保在dll所在的文件夹和dll本身上设置了正确的权限.还要确保存在任何依赖dll并且还具有正确的权限.确保dll需要访问的所有内容也具有正确的权限.

如果失败则打开注册表.搜索与com对象关联的guid.有时您会发现注册表所具有的路径都混淆了.清除对com对象的任何引用,重新引导并重新注册它.

我还看到在构造函数中抛出异常导致问题.当com对象启动时,它会爆炸.在我们的一个对象中添加了一个在发生异常时发送电子邮件的方法.

在一个案例中,我们有一个旧的com对象,它不再与我们运行的windows版本兼容.如果您已升级服务器,则可能是问题所在.在我们的例子中,我们编写了自己的组件来替换破旧的组件.

如果com对象是强类型的,请确保使用“regasm / tlb / codebase fickle_com_object.dll”

简而言之,有几件事导致com对象不起作用:

>注册表中的多个路径
>文件夹的安全权限错误
>创建时崩溃

也许其中一件事可以解决您的问题.我知道有时候会有多困难.祝好运!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读