main
 1using Gorilla.Commons.Infrastructure.Container;
 2using gorilla.commons.infrastructure.threading;
 3using presentation.windows.common;
 4using presentation.windows.server.orm;
 5
 6namespace presentation.windows.server
 7{
 8    public class StartServiceBus : NeedStartup
 9    {
10        public void run()
11        {
12            var receiver = Resolve.the<RhinoReceiver>();
13            var handler = new MessageHandler(Resolve.the<DependencyRegistry>());
14            receiver.register(x =>
15            {
16                using (var unit_of_work = Resolve.the<IUnitOfWorkFactory>().create())
17                {
18                    handler.handle(x);
19                    unit_of_work.commit();
20                }
21            });
22            Resolve.the<CommandProcessor>().add(receiver);
23        }
24    }
25}