Bolt.RequestBus : How to use Filters – Part 4

This is fourth part of the series. In our previous post we discuss about how to publish and handle events for a request. If you don’t know what Bolt.RequestBus is please read the first part of this series. In this part I am trying to show how you can use filter in application and reduce the complexity of request handler. You can add more than one filter for any request. Filter may not always necessary but in some cases you might find this technique very helpful. This will help to reduce the complexity of Handler as you can divide the responsibility to filters. Generally filters more appropriate for Query when you reading data from system, but you need to read from different sources or do complex calculation on result. Continue reading

Bolt.RequestBus : Introduction – Part 1

Recently published a nuget package named Bolt.RequestBus. The main purpose of this library is to easily dispatch request (Command, Query) and publish events. This allow to keep your controller thin and loosly coupled. For each request the library also raise some events that help you to push the events to eventstore with minimum code. Also support filter to allow you add multiple filters and modify the response after response completed. All operations support async.

A sample application has been provided in github that shows how to use this library for read/write/eventsourcing scenario. I am planning to write a series of blog posts that show how to integrate this library in your application and how to use different features. A sample application available in github. You can download the sample application Continue reading

End to End Testing of Web API 2 using OWIN and Specflow

One of the problem of end to end testing of Web API is that we need to deploy the API first and then run the tests. That means we are deploying without checking whether we did break something or not and find out the issue after deployment. To solve this problem a common practice is to setup the CI server (TeamCity / Jenkins etc) in a way so that the process deploy the API in an intermediate test server and then deploy to target server once tests passed in test server. Continue reading