2

为什么 Solace .Net API 不针对 AnyCPU?我在 Reflector 中比较了SolaceSystems.Solclient.Messaging.dllSolaceSystems.Solclient.Messaging_64.dllSolaceNativeAPI程序集,除了一个指向libsolclient.dlllibsolclient_64.dll的类之外,它们完全一样。似乎很容易将此类转换为非静态、公开通用接口ISolaceNativeAPI,而不是SolaceNativeAPI创建一个检查当前进程架构并返回 32 或 64 位实现的工厂。

如果 Solace 代码存储库是公开的,我很乐意提交拉取请求,因为它会使我当前的工作更轻松。

4

1 回答 1

5

Solace .NET API 当前没有“任何 CPU”.NET 二进制文件,因为过去发现它会稍微降低性能。Solace .NET API 使用了一个封装了原生库的原生适配器层。为了在运行时选择正确的本机库(32 位或 64 位),我们需要在 .NET API 和本机适配器之间引入一个间接层。这在过去进行了测试,但发现它使 API 性能降低了 5% 到 10%,这被认为太高而无法发布。

于 2016-09-27T14:15:06.387 回答