Expected Values in CLI Tools for Serialised JSON via Java Client

FAQ - Is the Aerospike C# client Strongly Named?

Detail

Strongly Named assembly is one that has been generated using a private key that matches the public key which is distributed along with the assembly. Within the assembly there will be a manifest listing out the files within and their hashes. A Strongly Named Assembly has a unique name, it therefore follows that two Strongly Named Assemblies with the same name contain the same files.

It can be considered advantageous to use a Strongly Named Assembly (SNA) for the following reasons:

  • An SNA can be included in th Global Assembly Cache and so it can be shared among multiple applications
  • Strong Naming guarantees the lineage of an assembly so the application that is being loaded came from the same publisher that created the version the application was built with.
  • SNAs contain a digital signature and will not load if they have been tampered with. They are therefore guaranteed to behave in a safe and reliable manner.

Answer

The compiled Aerospike C# client is Strongly Named from version 3.2.0 onwards. The client can be obtained from here:

http://www.aerospike.com/download/client/csharp

It should be noted that only the compiled AerospikeClient library on nuget is Strongly named. The uncompiled code (available on Github here GitHub - aerospike/aerospike-client-csharp: Aerospike C# Client Library) cannot be Strongly Named as this would require including a private key in the repository.

Also, just to add to this. For more primitive objects which we leave to Aerospike to serialise, like Bin.asList for a set of strings, the tools behave differently.

In this scenario I receive the expected result in ascli:

{“”: [ “foo”, “bar” ]}

but with cli I get:

{}

In this particular case, the bin is saved as a LIST data type. ascli understand the (msgpacked) LIST data type, and thus can present it. cli does not.

We have opened a bug for this inconsistency, and hope to address it in a future version of the product.

Hope this helps,

-DM