public static void Main(string[] args) { using (var container = new Unity.UnityContainer()) { container.AddNewExtension <Interception>(); container.RegisterType(typeof(IDataContainer <string>), typeof(DataContainer) , new Interceptor <InterfaceInterceptor>() , new InterceptionBehavior <LoggingAspect>()); container.RegisterType(typeof(IDataManager <string>), typeof(DataManager) , new Interceptor <InterfaceInterceptor>() , new InterceptionBehavior <LoggingAspect>()); container.RegisterType <IProcessor, Processor>( new Interceptor <InterfaceInterceptor>() , new InterceptionBehavior <LoggingAspect>()); var processor = container.Resolve <IProcessor>(); var result = processor.DoWork(); } /* * Processor processor = DependencyInjector.Retrieve<Processor>(); * var result = processor.DoWork(); */ }
public static void Register(HttpConfiguration config) { config.EnableCors(); var container = new Unity.UnityContainer(); /* * Đăng ký service và Repository cho controller nhóm thực đơn * Create by: nvcuong */ container.RegisterType <IMenuGroupService, MenuGroupService>(); container.RegisterType <IMenuGroupRepository, MenuGroupRepository>(); container.RegisterType <ITaskService, TaskService>(); container.RegisterType <ITaskRepository, TaskRepository>(); // Web API configuration and services config.DependencyResolver = new UnityResolver(container); GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver(container); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); }
static void Main(string[] args) { //Instantiate UnityContainer IUnityContainer container = new Unity.UnityContainer(); //Register Type with Unity container.RegisterType <Language>(new InjectionConstructor("pt-br")); container.RegisterType <MovieLister>(new InjectionMethod("ConfigLanguage", container.Resolve <Language>())); //Resolve Language language = container.Resolve <Language>(); //Register Type with Unity container.RegisterType <IMovieFinder, ColonDelimitedMovieFinder>( new InjectionProperty("Path", "movies1.txt")); container.RegisterType <IMovieFinder, MemoryMovieFinder>("memory"); container.RegisterType <MovieLister>("default", new InjectionConstructor(container.Resolve <IMovieFinder>("memory"))); //Resolve MovieLister movieLister = container.Resolve <MovieLister>("default"); Console.WriteLine($"Language {language.Type}"); string director = "Guillermo del Toro"; foreach (Movie movie in movieLister.MoviesDirectedBy(director)) { Console.WriteLine($"Movie {movie.Title}"); } }
private static IUnityContainer InitialiseUnityContainer() { var container = new Unity.UnityContainer(); container.RegisterType <IProfileRepository, ProfileRepository>(new ContainerControlledLifetimeManager(), new InjectionConstructor(FilePath)); container.RegisterType <IProfileService, ProfileService>(); return(container); }
private static IUnityContainer InitialiseUnityContainer() { var container = new Unity.UnityContainer(); container.RegisterType <IValidateRequest, ValidateRequest>(); container.RegisterType <IDealerConfigurationDAL, DealerConfigurationDAL>(new InjectionConstructor(ConnectionString)); container.RegisterType <IDealerConfigurationService, DealerConfigurationService>(); RegisterAutoMapper(container); return(container); }
private static IUnityContainer InitializeUnityContainer() { var container = new Unity.UnityContainer(); RegisterAutoMapper(container); container.RegisterType <IValidateRequest, ValidateRequest>(); container.RegisterType <IAppointmentDAL, AppointmentDAL>( new InjectionConstructor(new AppointmentContext(DatabaseConnectionString))); container.RegisterType <IAppointmentService, Service.Implementation.AppointmentService>(); return(container); }
private static IUnityContainer InitialiseUnityContainer() { var container = new Unity.UnityContainer(); RegisterTelemetryClient(container); RegisterServiceClients(container); RegisterAutoMapper(container); RegisterSendGridClient(container); container.RegisterType <ICustomerVehicleDAL, CustomerVehicleDAL>( new InjectionConstructor(DatabaseConnectionString)); container.RegisterType <ICustomerServiceBooking, CustomerServiceBooking>( new InjectionConstructor(container.Resolve <IRestfulClient>(Constants.CDKAutolineAPI), container.Resolve <TelemetryClient>())); container.RegisterType <ISMSGatewayClient, PlivoGatewayClient>(new ContainerControlledLifetimeManager(), new InjectionConstructor(PilvoAuthId, PilvoAuthToken)); container.RegisterType <IEmailGatewayClient, EmailGatewayClient>(new ContainerControlledLifetimeManager(), new InjectionConstructor(container.Resolve <ISendGridClient>())); container.RegisterType <IDealerConfigurationService, DealerConfigurationService>( new InjectionConstructor(container.Resolve <IRestfulClient>(Constants.DealerConfigurationAPI))); container.RegisterType <ICustomerInvitationService, CustomerInvitationService>( new InjectionConstructor(ServiceBookingAppUrl, Convert.ToInt32(InvitationExpiredDays), InvitationFromPhoneNumber, container.Resolve <ISMSGatewayClient>(), container.Resolve <IEmailGatewayClient>(), container.Resolve <TelemetryClient>(), container.Resolve <IDealerConfigurationService>(), ServiceBookingUrlPlaceHolder, RegistrationNoPlaceHolder )); container.RegisterType <IEmailService, EmailService>( new InjectionConstructor(container.Resolve <IEmailGatewayClient>(), ServiceBookingEmail)); container.RegisterType <ICustomerRegistrationService, CustomerRegistrationService>( new InjectionConstructor(container.Resolve <IMapper>(), container.Resolve <IRestfulClient>(Constants.CDKAutolineAPI), container.Resolve <TelemetryClient>())); container.RegisterType <IValidateRequest, ValidateRequest>(); container.RegisterType <ICustomerVehicleService, Service.Implementation.CustomerVehicleService>( new InjectionConstructor(container.Resolve <ICustomerVehicleDAL>(), container.Resolve <IMapper>(), container.Resolve <ICustomerRegistrationService>(), container.Resolve <ICustomerInvitationService>(), container.Resolve <IEmailService>(), container.Resolve <ICustomerServiceBooking>(), Convert.ToInt32(ServiceBookingExpiredDays))); return(container); }
private static IUnityContainer InitialiseUnityContainer() { var container = new Unity.UnityContainer(); RegisterServiceClients(container); RegisterTelemetryClient(container); container.RegisterType <IRecommendedService, RecommendedService>(); container.RegisterType <IDealerService, DealerService>( new InjectionConstructor(container.Resolve <IRestfulClient>(DealerConfigurationApiClient))); container.RegisterType <ICDKAutolineService, CDKAutolineService>( new InjectionConstructor(container.Resolve <IRestfulClient>(CdkAutolineApiClient), container.Resolve <TelemetryClient>())); return(container); }
private static void RegisterServiceClients(Unity.UnityContainer container) { var cdkClientConfiguration = new ClientConfiguration { ServiceUrl = CdkAutolineApiUrl, AccessKey = CdkAutolineApiKey }; container.RegisterType <IRestfulClient, RestfulClient>(Constants.CDKAutolineAPI, new InjectionConstructor(cdkClientConfiguration)); var dealerClientConfiguration = new ClientConfiguration { ServiceUrl = DealerConfigurationApiUrl, AccessKey = DealerConfigurationApiKey }; container.RegisterType <IRestfulClient, RestfulClient>(Constants.DealerConfigurationAPI, new InjectionConstructor(dealerClientConfiguration)); }
public MvcFixture() { defaultContainer = new UnityContainer(); defaultServiceProvider = new ServiceProvider(defaultContainer); // Register SampleClassA, but not SampleClassB defaultContainer.RegisterType<ISample, SampleClassA>(); }
protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); // 设置线程帮助类 DispatcherHelper.Initialize(); // 设置当前关闭模式 this.ShutdownMode = ShutdownMode.OnExplicitShutdown; // 注册异常事件 this.DispatcherUnhandledException += App_DispatcherUnhandledException; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; // 注册容器 Unity.UnityContainer container = new Unity.UnityContainer(); container.RegisterType<ICommonDataManager, CommonDataManager>(new ContainerControlledLifetimeManager()); container.RegisterType<IResultDataManager, ResultDataManager>(new ContainerControlledLifetimeManager()); container.RegisterType<IPatternDataManager, PatternDataManager>(new ContainerControlledLifetimeManager()); CacheManager.Instance.UnityContainer = container; // 获取版本信息 if (System.IO.File.Exists(CommonPath.ClientUpdate)) { // 1.获取本地版本信息 CacheManager.Instance.Version = CommonPath.ClientUpdate.LoadFromXml<ClientUpdate>(); } #if !DEBUG this.AutoUpdate(); #endif // 检查本地用户是否登录 OSKernel.Presentation.Login.LoginWindow login = new OSKernel.Presentation.Login.LoginWindow(); login.Closed += (s, arg) => { if (login.DialogResult.Value) { MainWindow main = new MainWindow(); main.Show(); } }; login.ShowDialog(); }
/// <summary> /// /// </summary> /// <returns></returns> public Strategy.IUser GetUser() { //IOC容器 Unity.UnityContainer unityContainer = new Unity.UnityContainer(); unityContainer.RegisterType(typeof(Strategy.IUser), typeof(Domain.User)); Strategy.IUser user = unityContainer.Resolve <Strategy.IUser>(); return(user); }
private static IUnityContainer InitialiseUnityContainer() { var container = new Unity.UnityContainer(); RegisterAutoMapper(container); RegisterServiceClients(container); container.RegisterType <ICustomerVehicleClient, CustomerVehicleClient>( new InjectionConstructor(container.Resolve <IRestfulClient>(Constants.CustomerVehicleAPI), container.Resolve <IMapper>())); container.RegisterType <IDealerConfigurationClient, DealerConfigurationClient>( new InjectionConstructor(container.Resolve <IRestfulClient>(Constants.DealerConfigurationAPI))); container.RegisterType <IEmailProcessor, EmailProcessor>(); container.RegisterType <IExchangeServices, ExchangeServices>("ExchangeServices", new ContainerControlledLifetimeManager(), new InjectionConstructor( ExchangeVersion, ExchangeUserName, ExchangePassword, ExchangeUrl )); container.RegisterType <IMailService, MailService>( new InjectionConstructor(container.Resolve <IExchangeServices>("ExchangeServices"))); container.RegisterType <ICsvProcessor, CsvProcess>(new InjectionConstructor(GetCsvColumnNames())); container.RegisterType <IAzureServices, AzureServices>( new ContainerControlledLifetimeManager(), new InjectionConstructor( AzureFileConnectionString, AzureFileShareName, AzureFileProcessedFolderName, AppendDateFormatInFileName )); container.RegisterType <IAzureFileProcessor, AzureFileProcessor>( new InjectionConstructor(container.Resolve <IAzureServices>())); container.RegisterType <IFileContentService, FileContentService>( new InjectionConstructor(container.Resolve <IEmailProcessor>(), container.Resolve <IAzureFileProcessor>())); return(container); }
static void Main(string[] args) { var container = new Unity.UnityContainer(); container.RegisterType <ICar, BMW>(); container.RegisterType <ICar, Audi>("LuxuryCar"); // Registers Driver type container.RegisterType <Driver>("LuxuryCarDriver", new InjectionConstructor(container.Resolve <ICar>("LuxuryCar"))); Driver driver1 = container.Resolve <Driver>();// injects BMW driver1.RunCar(); Driver driver2 = container.Resolve <Driver>("LuxuryCarDriver");// injects Audi driver2.RunCar(); Console.WriteLine("Hello World!"); Console.ReadLine(); }
private static void RegisterServiceClients(Unity.UnityContainer container) { var customerVehicleClientConfiguration = new ClientConfiguration { ServiceUrl = CustomerVehicleServiceUrl, AccessKey = CustomerVehicleServiceKey }; container.RegisterType <IRestfulClient, RestfulClient>(Constants.CustomerVehicleAPI, new InjectionConstructor(customerVehicleClientConfiguration)); var dealerClientConfiguration = new ClientConfiguration { ServiceUrl = DealerConfigurationServiceUrl, AccessKey = DealerConfigurationServiceKey }; container.RegisterType <IRestfulClient, RestfulClient>(Constants.DealerConfigurationAPI, new InjectionConstructor(dealerClientConfiguration)); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); using (var container = new Unity.UnityContainer().EnableDiagnostic()) { string connectionInfo = @"Data Source=12.11.10.1\DATA;Initial Catalog=DATA;User ID=Data;Password=Data;Application Name=UI.NET"; string userName = "******"; container.RegisterType <IConfig, Config>(new InjectionProperty("ConnectionInfo", connectionInfo), new InjectionProperty("UserName", userName)); // -- DataAccess - container.RegisterType <IDataAccess, DataAccess.DataAccess>(); // // -- DataStore: container.RegisterType <IDataStore, DataStoreManagemer>(); // // container.RegisterType <IViewContainer, UserInfoViewContainer>(); // container.RegisterType <IView, formUserInfo>(new InjectionConstructor(typeof(UserInfoViewContainer))); // var ctorMainPresentation = new InjectionConstructor(typeof(formUserInfo)); container.RegisterType <IPresentation, MainPresentation>(ctorMainPresentation); var obj = container.Resolve <MainPresentation>(); obj.Populate().GetAwaiter().GetResult(); obj.Show(); } }
private static void Run_UsingUnityDI(string[] args) { using (var container = new Unity.UnityContainer().EnableDiagnostic()) { string environment = Settings.Environment(); string notificationRecipientList = Settings.NotificationRecipientList(); string sendEmailGateway = Settings.SendEmailGateway(); // -- httpclientfactory Microsoft.Extensions.DependencyInjection.ServiceCollection serviceCollection = new Microsoft.Extensions.DependencyInjection.ServiceCollection(); serviceCollection.AddHttpClient("Sender", (c) => { c.BaseAddress = new Uri(sendEmailGateway); }); serviceCollection.BuildServiceProvider(container); //var httpClientFactory = serviceProvider.GetService<IHttpClientFactory>(); IHttpClientFactory clientFactory = container.Resolve <IHttpClientFactory>(); HttpClient httpClient = clientFactory.CreateClient("Sender"); container.RegisterSingleton <IConfig, AppConfig>( new InjectionProperty("Environment", environment) , new InjectionProperty("NotificationRecipientList", notificationRecipientList) , new InjectionProperty("SendEmailGateway", sendEmailGateway) ); container.RegisterSingleton <ILogger, Logger>(); //Sender(IConfig config, IHttpClientFactory httpClientFactory, ILogger logger) /* * container.RegisterSingleton<ISender, Sender>( * new InjectionConstructor( * new ResolvedParameter(typeof(IConfig)) * , new ResolvedParameter(typeof(IHttpClientFactory)) * , new ResolvedParameter(typeof(ILogger)) * ) * );*/ container.RegisterSingleton <ISender, Sender>(); container.RegisterType(typeof(RemoteAppenderSink)); var sink = container.Resolve <RemoteAppenderSink>(); //sink.EventsReached += (s, a) => AddLog(a.LoggingEvents); RemotingConfiguration.Configure("log4netListener.exe.config", false); RemotingServices.Marshal(sink, "RemoteAppenderLoggingSink"); } }
public static void RegisterComponents() { var container = new Unity.UnityContainer(); // register all your components with the container here // it is NOT necessary to register your controllers // e.g. container.RegisterType<ITestService, TestService>(); container.RegisterType <IDbFactory, DBFactory>(new Unity.Lifetime.ContainerControlledLifetimeManager()); container.RegisterType <IUnitOfWork, UnitOfWork>(); container.RegisterType <IBlogRepository, BlogRepository>(); container.RegisterType <IPostRepository, PostRepository>(); container.RegisterType <IBlogService, BlogService>(); container.RegisterType <IPostService, PostService>(); DependencyResolver.SetResolver(new Unity.Mvc5.UnityDependencyResolver(container)); GlobalConfiguration.Configuration.DependencyResolver = new Unity.AspNet.WebApi.UnityDependencyResolver(container); }
static void Main() { Unity.UnityContainer container = new Unity.UnityContainer(); Unity.ServiceLocation.UnityServiceLocator unityServiceLocator = new Unity.ServiceLocation.UnityServiceLocator(container); //Registrar tipos de operaciones con entidades container.RegisterInstance <FUMIT.Entidades.FumitDbContext>(new Entidades.FumitDbContext()); container.RegisterType <AccesoDatos.IClientes, ClientesRepositorio>(); container.RegisterType <AccesoDatos.ISucursales, SucursalesRepositorio>(); container.RegisterType <IProgramacionServicios, ProgramacionServiciosRepositorio>(); container.RegisterType <IProgramacionServiciosCliente, ProgramacionServiciosClienteRepositorio>(); container.RegisterType <ICiclosFacturacion, CiclosFacturacionRepositorio>(); container.RegisterType <IServiciosProgramados, ServiciosProgramadosRepositorio>(); container.RegisterType <IServicio, ServiciosRepositorio>(); container.RegisterType <IContactos, ContactosRepositorio>(); container.RegisterType <IVSProgramacionServiciosCliente, VSProgramacionServiciosClienteRepositorio>(); container.RegisterType <ICicloFacturacionClientes, CiclosFactuacionClienteRepositorio>(); container.RegisterType <IEquipos, EquiposRepositorio>(); container.RegisterType <ITipoEquipos, TipoEquiposRepositorio>(); container.RegisterType <IAsignacionesEquipo, AsignacionesEquipoRepositorio>(); container.RegisterType <IMantenimientos, MantenimientosRepositorio>(); container.RegisterType <IMantenimientosEquipo, MantenimientosEquipoRepositorio>(); container.RegisterType <ICalendarioSemanalServicios, CalendarioSemanalServiciosRepositorio>(); container.RegisterType <IOperadores, OperadoresRepositorio>(); container.RegisterType <ITickets, TicketsRepositorio>(); container.RegisterType <IContenedoresTicket, ContenedoresTicketRepositorio>(); //Se registra ExceptionManager Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionManager manager = Exceptions.ExceptionHandlingPolicies.InicializarPoliticas(); container.RegisterInstance(manager, new SingletonLifetimeManager()); //Se registra service locator ServiceLocator.SetLocatorProvider(() => unityServiceLocator); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); PantallaPrincipal pantallaPrincipal = new PantallaPrincipal(); //pantallaPrincipal.tsbEstado var notificador = new NotificadorBarraEstado(pantallaPrincipal.statusStrip1); notificador.ControlMostrarMensajes = pantallaPrincipal.tsbEstado; container.RegisterInstance <INotificador>("BarraDeEstado", notificador, new SingletonLifetimeManager()); Application.Run(pantallaPrincipal); }
private static IUnityContainer InitialiseUnityContainer() { var container = new Unity.UnityContainer(); RegisterTelemetryClient(container); RegisterAutoMapper(container); container.RegisterType <IAppTokenDAL, AppTokenDAL>(new InjectionConstructor(new CDKAutolineContext(ConnectionString))); container.RegisterType <IEncryptionService, RijndaelEncryptionService>(new InjectionConstructor(SecretKey)); container.RegisterType <IValidateRequest, ValidateRequest>(); container.RegisterType <IRestApiClient, RestApiClient>(); container.RegisterType <IPasswordService, PasswordService>( new InjectionConstructor(Convert.ToInt32(PasswordLength), PasswordCharacters)); container.RegisterType <IEncryptedTokenCodeService, EncryptedTokenCodeService>( new InjectionConstructor(UnregisteredGuid, container.Resolve <IEncryptionService>())); container.RegisterType <ICdkCustomerDAL, CdkCustomerDAL>( new InjectionConstructor(new CDKAutolineContext(ConnectionString))); container.RegisterType <IDealerCDKConfigurationsDAL, DealerCDKConfigurationsDAL>( new InjectionConstructor(new CDKAutolineContext(ConnectionString))); container.RegisterType <ICdkCustomerService, CdkCustomerService>(); container.RegisterType <ICustomerService, CustomerService>( new InjectionConstructor(container.Resolve <IRestApiClient>(), CdkAutolineUrl, container.Resolve <IEncryptedTokenCodeService>())); container.RegisterType <ITokenService, TokenService>( new InjectionConstructor(container.Resolve <IRestApiClient>(), container.Resolve <IEncryptedTokenCodeService>(), CdkAutolineUrl, UnregisteredGuid, container.Resolve <IAppTokenDAL>(), container.Resolve <TelemetryClient>(), container.Resolve <ICdkCustomerService>(), container.Resolve <ICustomerService>(), container.Resolve <IDealerCDKConfigurationsDAL>())); container.RegisterType <ICDKAutolineServices, CDKAutolineServices>(); container.RegisterType <ICDKVehicleMaintenanceService, CDKVehicleMaintenanceService>( new InjectionConstructor(container.Resolve <IRestApiClient>(), CdkAutolineUrl, container.Resolve <ITokenService>(), container.Resolve <TelemetryClient>())); container.RegisterType <ICDKBookingService, CDKBookingService>( new InjectionConstructor(container.Resolve <IRestApiClient>(), container.Resolve <ITokenService>(), container.Resolve <ICdkCustomerDAL>(), container.Resolve <TelemetryClient>(), CdkAutolineUrl)); container.RegisterType <ICDKServiceAdvisors, CDKServiceAdvisors>( new InjectionConstructor(container.Resolve <IRestApiClient>(), container.Resolve <ITokenService>(), container.Resolve <ICdkCustomerDAL>(), container.Resolve <TelemetryClient>(), CdkAutolineUrl)); container.RegisterType <ICDKAppointmentSlotsService, CDKAppointmentSlotsService>( new InjectionConstructor(container.Resolve <IRestApiClient>(), container.Resolve <ICdkCustomerDAL>(), container.Resolve <ITokenService>(), container.Resolve <TelemetryClient>(), container.Resolve <IValidateRequest>(), container.Resolve <IMapper>(), CdkAutolineUrl)); return(container); }