private static void ConfigureServices(HostBuilderContext host, IServiceCollection services) { services.AddSingleton <MainViewModel>(); #if DEBUG services.AddTransient <IMailService, DebugMailService>(); #else services.AddTransient <IMailService, SmtpMailService>(); #endif var store = new DataStorageInMemory(); services.AddSingleton <IServerStorage>(store); services.AddSingleton <ISenderStorage>(store); services.AddSingleton <IRecipientStorage>(store); services.AddSingleton <IEmailStorage>(store); }
private static void ConfigureServices( HostBuilderContext host, IServiceCollection services) { // Здесь нам надо добавить все сервисы нашего приложения // в коллекцию services // В переменной host хранится информация, на пример, // о пути запуска нашего приложения services.AddSingleton <MainWindowViewModel>(); //services.AddTransient<IMailService, SmtpMailService>(); #if DEBUG services.AddTransient <IMailService, SmtpMailService>(); #else services.AddTransient <IMailService, SmtpMailService>(); #endif services.AddSingleton <IEncryptorService, Rfc2898Encryptor>(); services.AddDbContext <MailSenderDB>(opt => opt .UseSqlServer(host.Configuration.GetConnectionString("Default"))); services.AddTransient <MailSenderDbInitializer>(); //services.AddSingleton<IStore<Recipient>, RecipientsStoreInMemory>(); services.AddSingleton <IStore <Recipient>, RecipientsStoreInDB>(); services.AddSingleton <IStore <Sender>, SendersStoreInDB>(); services.AddSingleton <IStore <Server>, ServersStoreInDB>(); services.AddSingleton <IStore <Message>, MessagesStoreInDB>(); services.AddSingleton <IStore <SchedulerTask>, SchedulerTasksStoreInDB>(); services.AddSingleton <IMailSchedulerService, TaskMailSchedulerService>(); //... // Выбираем либо этот блок var memory_store = new DataStorageInMemory(); services.AddSingleton <IServerStorage>(memory_store); services.AddSingleton <ISendersStorage>(memory_store); services.AddSingleton <IRecipientsStorage>(memory_store); services.AddSingleton <IMessagesStorage>(memory_store); //либо этот. Один надо закомментировать, другой - раскомментировать //const string data_file_name = "MailSenderStorage.xml"; //var file_storage = new DataStorageInXmlFile(data_file_name); //services.AddSingleton<IServerStorage>(file_storage); //services.AddSingleton<ISendersStorage>(file_storage); //services.AddSingleton<IRecipientsStorage>(file_storage); //services.AddSingleton<IMessagesStorage>(file_storage); services.AddSingleton <IEncryptorService, Rfc2898Encryptor>(); }
private static void ConfigureServices(HostBuilderContext host, IServiceCollection services) { services.AddSingleton <MainWindowViewModel>(); services.AddSingleton <IEncryptorService, Rfc2898Encryptor>(); #if DEBUG services.AddTransient <IMailService, DebugMailService>(); #else services.AddTransient <IMailService, SmtpMailService>(); #endif services.AddTransient <IDialogMsgBoxService, MsgBoxDialog>(); DataStorageInMemory memory_store = new DataStorageInMemory(); services.AddSingleton <IServersStorage>(memory_store); services.AddSingleton <ISendersStorage>(memory_store); services.AddSingleton <IRecipientsStorage>(memory_store); services.AddSingleton <IMessagesStorage>(memory_store); }