2016-09-26 7 views
2

AnyCPU를 대상으로하는 Solace .Net API가 아닌 이유는 무엇입니까? 나는 두 SolaceSystems.Solclient.Messaging.dll 및 리플렉터 SolaceSystems.Solclient.Messaging_64.dll 어셈블리를 비교 그들은 및 libsolclient_64.dll libsolclient.dll 을 가리키는 하나 개의 클래스 SolaceNativeAPI을 제외하고 절대적으로 동일했습니다. 이 클래스를 비 정적으로 변환하고 SolaceNativeAPI 대신에 사용할 공용 인터페이스 ISolaceNativeAPI을 공개하고 현재 프로세스 아키텍처를 검사하고 32 또는 64 비트 구현을 반환하는 팩토리를 만드는 것이 매우 쉬울 것으로 보입니다.Solace. AnyCPU 용 .NET API 컴파일

Solace code repository가 공개 된 경우 풀링 요청을 제출하면 현재 작업이 쉬워 져서 기쁩니다.

답변

4

Solace .NET API에는 과거에 성능이 약간 떨어지는 것으로 밝혀 졌기 때문에 현재 '모든 CPU'.NET 바이너리가 없습니다. Solace .NET API는 기본 라이브러리를 래핑하는 기본 어댑터 계층을 사용합니다. 올바른 네이티브 라이브러리 (32 또는 64 비트)를 런타임에 선택하려면 .NET API와 기본 어댑터 사이에 간접 계층을 도입해야합니다. 이것은 과거에 테스트되었지만 API 성능이 5 % ~ 10 % 저하 된 것으로 나타났습니다. 이는 출시하기에 너무 높은 것으로 여겨졌습니다.