为AnyCPU编译的Solace .Net API

Kon*_*rin 2 anycpu solace

为什么Solace .Net API不针对AnyCPU?我在Reflector中比较了SolaceSystems.Solclient.Messaging.dllSolaceSystems.Solclient.Messaging_64.dll程序集,除了一个SolaceNativeAPI指向libsolclient.dlllibsolclient_64.dll的类外,它们完全相同.看起来很容易将这个类转换为非静态的,暴露公共接口ISolaceNativeAPI而不是使用它来SolaceNativeAPI创建一个工厂来检查当前的流程架构并返回32或64位实现.

如果Solace代码存储库是公开的,我会很乐意提交一个pull请求,因为它可以让我当前的工作更轻松.

Ale*_*sse 5

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