Edit on GitHub

Wire Format

Wire is an efficient binary serialization format from the Akka.NET Team with comparable performance to ProtoBuf but like MsgPack doesn’t require your POCO’s to be annotated with [DataContract] attributes making it more suitable for code-first POCO DTOs.

Installing via NuGet

Wire is easily installed with the ServiceStack.Wire NuGet package:

PM> Install-Package ServiceStack.Wire

After the NuGet Package is added to your Project, enable the Wire format in your AppHost with:

Plugins.Add(new WireFormat());

The NuGet plugin also includes the WireServiceClient client below so you can easily call it from any C# Client.

Client Usage

Just like the rest of ServiceStack C# Clients, WireServiceClient is interchangeable with the other Service clients and provides and end-to-end API for consuming ServiceStack’s Services, e.g:

var client = new WireServiceClient(BaseUri);
List<Todo> all = client.Get(new Todos());           // Count = 0

var todo = client.Post(
    new Todo { Content = "New TODO", Order = 1 });  // todo.Id = 1
all = client.Get(new Todos());                      // Count = 1

todo.Content = "Updated TODO";
todo = client.Put(todo);                            // todo.Content = Updated TODO

client.Delete(new Todos(todo.Id));
all = client.Get(new Todos());