相关疑难解决方法(0)

为什么COM互操作优于.NET中的P/Invoke?

在我们的项目中,我们在asp.net应用程序中通过COM重用了很多Delphi代码.

像这样:遗留delphi dll => delphi COM wrapper => .Net interop => asp.net(mvc)

我们有一些关于访问冲突,卸载dll等的问题......我现在已经移植了一些直接通过P/Invoke代码使用遗留dll.

当我查看有关COM和P/Invoke的资源时,人们几乎总是建议使用COM.这是为什么?P/Invoke不具有以下好处:

  • 签出代码将始终使用正确的dll而不是最后注册的COM
  • 多个版本可以在服务器上并行运行(例如:DEV,TEST和QA)
  • 没有更多的COM注册麻烦
  • 比COM通信快得多(我读过的文章表明速度提高了30%)

.net com pinvoke interop

7
推荐指数
1
解决办法
2789
查看次数

标签 统计

.net ×1

com ×1

interop ×1

pinvoke ×1