如何在已发布的.Net站点上包含COM组件?

时间:2008-12-02 10:40:43

标签: .net asp.net .net-2.0

如何在已发布的.Net网站上包含COM组件?

2 个答案:

答案 0 :(得分:2)

最后我成功地解决了这个问题:

要在发布的网站上包含COM组件:

  1. 在您的服务器配置文件中包含程序集的引用[在添加引用时本地添加它自己添加]。
  2. 在您的bin文件夹中包含dll
  3. 转到开始 - >运行 - >输入“DCOMCNFG”或转到控制面板 - >管理工具 - >组件服务 - >计算机 - > myComputer - > DCOM配置 - > Microsoft Excel Application.Right单击以获取属性对话框。转到“安全”选项卡并相应地自定义权限。
  4. 注意:请记住,如果您在Windows 2003 Server上运行,则必须使用应用程序池标识作为帐户而不是ASPNET帐户。

    •转到“开始 - 运行”菜单项。

    •输入“DCOMCNFG”并按Enter键。

    •这应该加载“组件服务”MMC(您也可以从管理工具 - 组件服务加载“

    •展开“组件服务”

    •展开“计算机”

    •展开“我的电脑”

    •选择“DCOM配置”项

    •选择“Microsoft Excel应用程序”项。

    •右键单击并选择“属性”

    •选择安全选项卡

    •在“启动和激活权限”下,选择“自定义”选项。

    •单击“编辑”按钮

    •单击“添加”按钮将新帐户添加到列表中。

    •在显示的对话框中,单击“位置”按钮(这是因为默认情况下您的域名将被选中,我们需要一个本地帐户)

    •单击“确定”按钮

    •在显示的对话框中,在Windows XP上输入“ASPNET”作为帐户名称(确保将位置设置为IIS所在的计算机的名称),或者如果您在Windows 2003 Server上运行,则必须输入运行应用程序池的帐户,默认为“网络服务”

    注意:在Windows XP上更快捷的方法就是输入计算机名称和帐户 所以在我的情况下,这将是:ccrowe \ ASPNET

    •单击“确定”按钮

    •现在确保为“ASP.NET计算机帐户”或作为应用程序池标识的帐户(默认为网络服务)选择以下选项

    o本地启动:允许

    o远程启动:[空白]

    o本地激活:允许

    o远程激活:[空白]

    •单击“确定”按钮并再次测试您的Web应用程序,它应该可以正常工作。

答案 1 :(得分:0)

我能澄清一下吗?听起来你想使用嵌入在html中的客户端activex控件(通过<object/>)。这是对的吗?

这不是一种非常安全的方法;许多浏览器/平台根本不会这样工作。如果您知道您的客户端是IE / windows,那么您可以在cab中签署ocx,标记为safe-for-scripting / safe-for-initialization标记。但是 - 不建议这样做。

如果您需要丰富的客户端体验,请考虑使用Silverlight或部署ClickOnce的智能客户端,如果您需要更丰富的访问扫描仪等内容。


如果您的意思是服务器端,那么您可能需要在服务器上安装组件。无注册表的COM 可能工作,但配置起来不容易。如果你不拥有服务器(即它是为你托管的),那么COM可能不是第一个出路......