using System; using System.Web.Mvc; using System.Web.Routing; using Spring.Core.IO; using Spring.Objects.Factory; using Spring.Objects.Factory.Xml; namespace SEIeSCM { public class ControllerFactory : IControllerFactory { //public IController CreateController(RequestContext requestContext, string controllerName) public IController CreateController(System.Web.Routing.RequestContext requestContext, string controllerName) { if (controllerName.Equals("Images") || controllerName.Equals("images") || controllerName.Equals("Content")) { return null; } try { IResource resource = new FileSystemResource(requestContext.HttpContext.Request.MapPath("/objects.xml")); IObjectFactory factory = new XmlObjectFactory(resource); return (IController)factory.GetObject(controllerName); } catch { return null; } } public System.Web.SessionState.SessionStateBehavior GetControllerSessionBehavior(System.Web.Routing.RequestContext requestContext, string controllerName) { return System.Web.SessionState.SessionStateBehavior.Default; } public void ReleaseController(IController controller) { if (controller is IDisposable) { (controller as IDisposable).Dispose(); } } } }