This article demonstrates how to setup up a Web API service which supports default batching as well as a custom Protobuf batch handler. Protobuf is used because it is the fastest and best serialization library which exists for .NET applications. CRUD operations are supported. Batching can be used to send multiple requests in a single […]

This article demonstrates how to create a Web API RESTful service and use Elasticsearch as the persistence infrastructure. Nest is used to access Elasticsearch store. Simple CRUD is supported in the controller. code: https://github.com/damienbod/WebAPIRestWithNest Update 2014.09.28: updated all NuGet packages and fixed NEST, breaking changes in version 1 Structure The Application structure is based on […]

In this article, exception handling is explored for Web API. The standard features from Web API 2 are shown as well as the global exception handling released in version 2.1. code: https://github.com/damienbod/WebApi2_1ExceptionHandling Using the HttpResponseException class The following two examples demonstrates how the HttpResponseException class can be used in simple action methods. The HttpStatusCode enum […]

UPDATE: This NuGet package will no longer be supported as SLAB now supports an Elasticsearch sink. This blog still demonstates how to create a custom sink for SLAB. With the version 1.1 bulk inserts can also be used for custom sinks. See https://damienbod.wordpress.com/2014/04/02/semanic-logging-with-elasticsearch-using-semanticlogging-elasticsearch-nuget-package/ This post demonstrates how to create a Semantic.Logging Sink which adds documents […]

This post shows how to use multiple models in a single view. The models can be used in separated forms or together in one form. You could use each child model with a separate ajax post if required. Only properties in the parent class affect the child models, but a property in a child model […]

At present there are 2 main players in the full text searches for applications. Solr and Elasticsearch. Both are built using Lucene. There’s a lot of dicussion about which is the best, but for me, Elasticsearch provides some better features and seems to be growing faster. I decided to choose Elasticsearch because you require no […]

The example shows how to setup a Web API 2 service using Protobuf-Net as it Media Formatter and a HttpClient which gets and deserializes the response using Protobuf-Net. Protobuf is choosen because it’s the fastest Media Formatter at present. Code: https://github.com/damienbod/WebApi2WebApiContribProtobuf Web API 2 Server The server is just a basic Web API MVC 5 […]

This post compares the Serialization to files using Protobuf, Json.NET (Newtonsoft) JSON and BSON, Servicestack Json and plain .NET Xml. The test measures the whole operation and not just serialization to a memory stream. Code: https://github.com/damienbod/SerializationToFileTests For Serialization, the tests use an Object class with int, double, string, Object properties and also a List of […]

ActionFilters are a great way to add extra functionality to your Web API service. This article shows examples of how the ActionFilters work together, how the filters can be overrided and how the filters can be used together with an IoC. The diagram underneath shows how the filters are called in the Web API lifecycle. […]

This post demonstrates how to set up a very basic message queue using SignalR with SQLite. This could be used to collect data from a measurement system or a client which is not always online but no data messages should be lost or the sequence of the messages. Code: https://github.com/damienbod/SignalRMessagingBuffering Only the client contains a […]