Line data Source code
1 : using System;
2 : using System.Web;
3 : using Cqrs.Configuration;
4 : using Cqrs.WebApi.SignalR.Hubs;
5 : using Ninject;
6 : using Ninject.Modules;
7 : using Ninject.Web.Common;
8 :
9 : namespace Cqrs.Ninject.WebApi.Configuration
10 : {
11 : /// <summary>
12 : /// A <see cref="INinjectModule"/> that sets up default WebApi.
13 : /// </summary>
14 : public class WebApiModule : NinjectModule
15 1 : {
16 : #region Overrides of NinjectModule
17 :
18 : /// <summary>
19 : /// Loads the module into the kernel.
20 : /// </summary>
21 1 : public override void Load()
22 : {
23 : Bind<IConfigurationManager>()
24 : .To<ConfigurationManager>()
25 : .InSingletonScope();
26 :
27 : RegisterWebApi();
28 : }
29 :
30 : #endregion
31 :
32 : /// <summary>
33 : /// Register the some WebAPI and SignalR requirements
34 : /// </summary>
35 1 : protected virtual void RegisterWebApi()
36 : {
37 : Bind<Func<IKernel>>().ToMethod(ctx => () => new Bootstrapper().Kernel);
38 : Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>();
39 :
40 : Bind<INotificationHub>()
41 : .To<NotificationHub>()
42 : .InSingletonScope();
43 : }
44 : }
45 : }
|