Implemented Single threaded Dispatcher,wrote test cases

I've implemented single thread dispatcher. If this is correct then I'll update it to concurrent version which I've started. I just wanted to confirm my approach.
I really appreciate your initiative to create a configuration for the handler mapping. 
Your intentions of creating class to encapsulate this is correct.
A few corrections:

1. **`CreateMappingArray()` is a public method and it is the users responsibility to call it.**
You are working in a team and have to assume that the component you create is going to be consumed by someone else. What this means is that, if there are ways in which your component should not be used, those are the first things that most developers are going to do. So you want to make your code resilient to such issues.
E.g., what happens if someone calls `ReadHandlerConfig()` before calling `CreateMappingArray()` ?

2. **`CreateMappingArray()` initializes a class level parameter.**
The handler mapping is a one time load configuration as it is not changing again and again whenever a function is called. You can load it once privately and then simply expose the method to use the configuration to resolve the handler. Making `CreateMappingArray()` public makes it the consumers responsibility to call when it really does not have to be like that.

3. **Single responsibility of Mapper is broken** 
What is the responsibility of the Mapper - is it to establish the mapping between an extention and its handler or is it to manage the handler configuration via xml file ?
The HandlerMapper's work is to resolve the mapping of handlers. The fact that it is picking up configuration from a xml file vs an inproc hard coded dictionary etc are internal details. Ideally these should be encapsulated in their own class as they are unrelated functionality.
What I would do would be to create a HandlerConfigurator class to encapsulate this. The mapper can simply use this configurator class to load the handler configuration. This configuration contains the mappings that you have configured. Your mapper can then simply depend on this for its resolutions.