public BlogServiceProvider Open() { var instance = new GetPostBlogProcessor(ninjectKernel.Get<IBlogReader>()); ConfigureRestService(instance); serviceHost.Open(); return this; }
private void ConfigureRestService(GetPostBlogProcessor processor) { var addPost = ninjectKernel.Get<IPostOneWay<AddPostRequest>>(); var addComment = ninjectKernel.Get<IPostOneWay<AddCommentRequest>>(); var deletePost = ninjectKernel.Get<IDeleteOneWay<DeletePostRequest>>(); var deleteComment = ninjectKernel.Get<IDeleteOneWay<DeleteCommentRequest>>(); NeliburRestService.Configure(x => { x.Bind<AddPostRequest, IPostOneWay<AddPostRequest>>(() => addPost); x.Bind<DeletePostRequest, IDeleteOneWay<DeletePostRequest>>(() => deletePost); x.Bind<GetPostRequest, GetPostBlogProcessor>(() => processor); x.Bind<GetPostsRequest, GetPostBlogProcessor>(() => processor); x.Bind<AddCommentRequest, IPostOneWay<AddCommentRequest>>(() => addComment); x.Bind<DeleteCommentRequest, IDeleteOneWay<DeleteCommentRequest>>(() => deleteComment); }); }