为AnyCPU编译的Solace .Net API

时间:2016-09-26 05:56:35

标签: solace anycpu

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

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

1 个答案:

答案 0 :(得分:5)

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