使用asp经典使用.net程序集

时间:2012-01-11 17:19:42

标签: c# asp.net com

  

可能重复:
  Accessing a .NET Assembly from classic ASP

我们目前有一个用asp经典编写的网站。为了逐步将站点迁移到ASP.Net,我们决定构建一个包含我们希望在C#中重写的函数的类库。问题是我们很难让它在asp经典版上工作。

以下教程我们:

  1. 写了一个如下所示的示例类。
  2. 使用'sn -k OurKeyName.key'
  3. 强烈命名我们的程序集
  4. 使用'gacutil / i OurAssembly.dll'
  5. 在GAC中注册我们的程序集
  6. 使用'regasm / tlb WireCare.dll'
  7. 向COM注册我们的程序集

    执行上述步骤后,我们收到以下错误:

    Server object error 'ASP 0177 : 800401f3'
    
    Server.CreateObject Failed
    
    /page.asp, line 2
    
    800401f3 
    

    以下是.net类的代码:

    namespace CompanyName
    {
        public class Test
        {
            public string DoTest()
            {
                return "test";
            }
        }
    }
    

    和asp页面:

    <%
        Dim cart : Set cart = Server.CreateObject("CompanyName.Test")
    %>
    

    开发机器正在运行:

    • Windows 7 Professional 64位
    • Visual Studio 2010

    有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

可能与权限相关。帐户ASP是否在.net程序集上具有足够的权限?

快速(AND TEMPORARY)测试是将ASP正在运行的帐户(例如IUSR_server-name或NT AUTHORITY \ NETWORK SERVICE)添加到计算机上的管理员组,并查看事情是否开始有效。如果是这样,那么您需要追踪权限不足的特定文件。