Где сохранить вещи как connectionstrings в шаблоне МОК?

Момент Вы думаете об этом.

(как долго, поскольку то, в чем Вы регистрируетесь, безопасно)

5
задан Boris Callens 3 December 2009 в 22:12
поделиться

3 ответа

И Роберт, и Лукас попали в точку своими ответами. Все «лишние вещи» для учетной записи будут находиться в классе UserRepository. В настоящее время так реализован Turbine ND.

Однако ничто не мешает вам создать новый класс с именем ConnectionStringProvider, который затем может быть «введен» в ваш UserRepository, который предоставит строку подключения (независимо от того, жестко ли она закодирована или прочитана из файла конфигурации.

Код может быть следующим:

public class ConnectionStringProvider {
    public string ConnectionString {
        get{
             // your impl here
        }
    }
}

public class UserRepository {
   public UserRepository(ConnectionStringProvider provider){
        // set internal field here to use later
        // with db connection
   }
}

Отсюда вы добавляете регистрацию для ConnectionStringProvider в классе UserRepositoryRegistration, а Turbine сделает все остальное за вас.

3
ответ дан 14 December 2019 в 13:38
поделиться

В общем, это касается исключительно конкретного UserRepository, которому требуется строка подключения или база данных дорожка. Вы бы прекрасно справились, опустив путь в файле конфигурации приложения и попросив ваш конкретный репозиторий напрямую извлекать данные конфигурации.

Не всем репозиториям потребуется эта информация, что является одной из причин, по которой у вас есть абстракция в первое место. Например, для быстрой работы с конкретным IUserRepository в памяти не потребуется путь к базе данных или, вероятно, какая-либо дополнительная конфигурация для работы.

2
ответ дан 14 December 2019 в 13:38
поделиться

Подобно Роберту, я бы рекомендовал поместить это в файл конфигурации приложения, однако, с конкретными записями для каждой инъекции тип. Таким образом, ваша строка подключения или путь могут быть настроены при каждой инъекции.

1
ответ дан 14 December 2019 в 13:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: