protected void Application_Start(object sender, EventArgs e) { DirectHttpHandler.SetMetadata(new ReflectionConfigurator() .SetNamespace("Sample.server") .RegisterType <DirectAction>()); //DirectHttpHandler.SetMetadata(new LambdaConfigurator() // .SetNamespace("Sample.server") // .Register<DirectAction>("DirectAction.stringEcho", x => x.StringEcho(default(string))) // .Register<DirectAction>("DirectAction.numberEcho", x => x.NumberEcho(default(double))) // .Register<DirectAction>("DirectAction.boolEcho", x => x.BoolEcho(default(bool))) // .Register<DirectAction>("DirectAction.arrayEcho", x => x.ArrayEcho(default(int[]))) // .Register<DirectAction>("DirectAction.objectEcho", x => x.ObjectEcho(default(DirectAction.ExampleClass))) // .Register<DirectAction>("DirectAction.jObjectEcho", x => x.JObjectEcho(default(JObject))) // .Register<DirectAction>("DirectAction.noParams", x => x.NoParams()) // .Register<DirectAction>("DirectAction.exception", x => x.Exception()) // .Register<DirectAction>("DirectAction.namedArguments", x => x.NamedArguments(default(string), default(double), default(bool)), namedArguments: true) // .Register<DirectAction>("DirectAction.submitFile", x => x.SubmitFile(default(string), default(Stream)), formHandler: true) // ); }
protected void Application_Start(object sender, EventArgs e) { //DirectHttpHandler.SetMetadata(new ReflectionConfigurator() // .RegisterType<TestAction>() // .RegisterType<Profile>()); var c = new LambdaConfigurator(); c.Register <TestAction>("TestAction.doEcho", x => x.DoEcho(default(string))); c.Register <TestAction>("TestAction.multiply", x => x.Multiply(default(double))); c.Register <TestAction>("TestAction.getGrid", x => x.GetGrid(default(TestAction.GetGridParams))); c.Register <TestAction>("TestAction.getTree", x => x.GetTree(default(string))); c.Register <TestAction>("TestAction.showDetails", x => x.ShowDetails(default(string), default(string), default(int)), namedArguments: true); c.Register <Profile>("Profile.getBasicInfo", x => x.GetBasicInfo(default(int), default(string))); c.Register <Profile>("Profile.getPhoneInfo", x => x.GetPhoneInfo(default(int))); c.Register <Profile>("Profile.getLocationInfo", x => x.GetLocationInfo(default(int))); c.Register <Profile>("Profile.updateBasicInfo", x => x.UpdateBasicInfo(default(string), default(string), default(string), default(string), default(string)), formHandler: true); DirectHttpHandler.SetMetadata(c); }
public static void FillContainer(IUnityContainer container, JsonSerializer jsonSerializer, IErrorHandler errorHandler) { container.RegisterInstance(container); container.RegisterInstance(jsonSerializer); container.RegisterInstance(errorHandler); container.RegisterType <HttpContextBase>( new InjectionFactory(c => new HttpContextWrapper(HttpContext.Current))); SystemServicesUnityConfigurator.Configure((UnityContainer)container); ConfigureAutoMapper(); WithMetadata( (policies, entities, cardViewFieldBindings, listViewFieldBindings, lookupViewFieldBindings, referenceFieldBindings) => { var metamodel = new MetamodelBuilder(new PropertyAccessorFactory()).Build(entities); container.RegisterInstance <IMetamodel>(metamodel); var cfg = GetDbConfiguration(); var mapping = new WmsMappingBuilder().Build(entities).ToXmlDocument(); cfg.AddDocument(mapping); container.RegisterType <ISessionFactory, SessionFactoryDecorator>( new ContainerControlledLifetimeManager(), new InjectionConstructor( cfg.BuildSessionFactory())); container.RegisterType <ISession>( new HierarchicalLifetimeManager(), new InjectionFactory(u => { var factory = u.Resolve <ISessionFactory>(); return(factory.OpenSession()); })); container.RegisterType <IQueryableFactoryProvider, NhQueryableFactoryProvider>(); container.RegisterType <IUnitOfWorkFactory, NhUnitOfWorkFactory>(); // ABAC container.RegisterType <IRootObjectNodeApplier, AbacRootObjectNodeApplier>(); container.RegisterType <IEntitiesLoader, AbacEntitiesLoader>(new HierarchicalLifetimeManager()); container.RegisterType <IAbacContext, Context>(); container.RegisterInstance(typeof(IPolicyEnforcementService), GetPolicyEnforcementService(metamodel, policies)); // UI meta var infoProvider = new UiInfoProviderBuilder().Build(metamodel, entities, cardViewFieldBindings, listViewFieldBindings, lookupViewFieldBindings, referenceFieldBindings); container.RegisterInstance <IUiInfoProvider>(infoProvider); // Validators var validatorProvider = new ValidatorsProviderBuilder().Build(entities); container.RegisterInstance <IValidatorsProvider>(validatorProvider); // Bindings container.RegisterType <IEntityBindingsProvider, EntityBindingsProvider>( new ContainerControlledLifetimeManager(), new InjectionConstructor( typeof(IMetamodel), typeof(INamingConventionProvider), cardViewFieldBindings, listViewFieldBindings, lookupViewFieldBindings)); }); //WmsXmlConverter container.RegisterType <IWmsXmlConverter, WmsXmlConverter>(new ContainerControlledLifetimeManager()); RegisterAppServices(container); InitServiceLocator(container); //Добавлен кастомный NamingConventionProvider var ncp = new DefaultNamingConventionProvider { ToCamelCase = false }; container.RegisterInstance <INamingConventionProvider>(ncp); var section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity"); if (section != null) { container.LoadConfiguration(section); } DependencyResolver.SetResolver(new UnityDependencyResolver(container)); var objectFactory = new DependencyResolverObjectFactory(DependencyResolver.Current, jsonSerializer, errorHandler); DirectHttpHandler.SetObjectFactory(objectFactory); RegisterKnownTypes(); }