1: // Implements IContainerAccessor to notify MonoRail that we provide our own IWindsorContainer
2: // Implements IMonoRailContainerEvents to be notified when the container was created
3: public class Global : HttpApplication, IContainerAccessor, IMonoRailContainerEvents {
4: private static Container container;
5:
6: #region IContainerAccessor Members
7: public IWindsorContainer WebContainer {
8: get { return container; }
9: }
10: #endregion
11:
12: #region IMonoRailContainerEvents Members
13: public void Initialized(IMonoRailContainer mr){
14: // here we register the services as components
15: container.Register(
16: Component.For<IEmailTemplateService>().Instance(mr.EmailTemplateService),
17: Component.For<IEmailSender>().Instance(mr.EmailSender)
18: // additional services here...
19: );
20: }
21:
22: public void Created(IMonoRailContainer mr){
23: // ignore..
24: }
25: #endregion
26:
27: protected void Application_Start(object sender, EventArgs e) {
28: // create container
29: container = new WebContainer();
30: container.Init();
31: }
32: }