如何在ASP.Net 3.5中调用非托管COM对象

问题描述 投票:1回答:2

我有一个非托管的COM对象,我想从ASP.NET 3.5中调用它。

我可以像在C#中一样调用它,还是必须在web.config中编写一些特殊的东西,或者特别配置IIS。

现在我得到一个stackoverflow异常。

asp.net-3.5
2个回答
1
投票

您不能只从托管代码中调用com对象。你必须P / Invoke它。查看pinvoke.net了解如何调用大多数Windows API。还有一个生成p / invoke代码的工具叫做p/invoke interop assistant.

至于为什么你得到溢出,它可能与任何com调用无关。你可能做错了什么。检查您的房产,这是您最终会遇到的最常见的地方之一。此外,在溢出点检查您的调用堆栈,因为它将告诉您导致问题的方法是什么。


1
投票

对于.NET项目,在“添加引用”对话框中有COM选项卡。添加对COM对象的引用,它应该可以正常工作。

如果它适用于开发机器,但不适用于生产,您只需检查所有常见的嫌疑人:

  • COM对象(和依赖项)是否在生产服务器上注册。
  • Web服务器是否以64位运行?这将阻止您在运行中运行32位COM对象。
© www.soinside.com 2019 - 2024. All rights reserved.