Castle.MonoRail.Framework.Controller.InitializeFieldsFromServiceProvider C# (CSharp) Method

InitializeFieldsFromServiceProvider() public method

Extracts the services the controller uses from the context -- which ultimately is a service provider.
public InitializeFieldsFromServiceProvider ( IRailsEngineContext context ) : void
context IRailsEngineContext The context/service provider.
return void
		public void InitializeFieldsFromServiceProvider(IRailsEngineContext context)
		{
			serviceProvider = context;

			viewEngineManager = (IViewEngineManager) serviceProvider.GetService(typeof(IViewEngineManager));

			IControllerDescriptorProvider controllerDescriptorBuilder = (IControllerDescriptorProvider)
				serviceProvider.GetService( typeof(IControllerDescriptorProvider) );

			metaDescriptor = controllerDescriptorBuilder.BuildDescriptor(this);

			ILoggerFactory loggerFactory = (ILoggerFactory) context.GetService(typeof(ILoggerFactory));
			
			if (loggerFactory != null)
			{
				logger = loggerFactory.Create(GetType().Name);
			}
			
			this.context = context;

			Initialize();
		}