Avinash Gupta Ответов: 0

Как ограничить вызов метода, отключив его в webconfig?


В функции a есть вызов метода, я хочу ограничить его вызов на основе значения, установленного в файле webConfig.Если это правда,то ее следует называть иначе, а не иначе.

Что я уже пробовал:

private IEnumerable<Contracts.Models.Translation> GetTranslationsIfEmpty(IEnumerable<Contracts.Models.Translation> translations, string locale, Expression<Func<Contracts.Models.Translation, Boolean>> where)
{

    if (!locale.Equals(EnglishLocale, StringComparison.OrdinalIgnoreCase) && !translations.Any())
    {
        var englishTranslations = _translationService.Get(where);
        translations = GetTranslations(englishTranslations.ToArray(), locale);
        AddNewTranslations(translations);
    }
    return translations;
}


Я хочу ограничить вызов AddNewTranslation() в функции, основанной на наборе приложений в файле webConfig

F-ES Sitecore

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

Avinash Gupta

Что вы подразумеваете под настройкой приложения внутри функции?

F-ES Sitecore

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

Avinash Gupta

Как прочитать значение этого набора приложений?

F-ES Sitecore

google "c# read appsetting".

ZurdoDev

Простой

if (appsetting == whatever)
{
CallMethod();
}
еще{
// не вызывайте метод.
}

j snooze

Если вы не знакомы с предыдущими ответами, вот как проверить набор приложений в вашем файле web config(или файл appsettings в exe-файле).
1. в вашем конфигурационном файле где-то внутри раздела "конфигурация" добавьте что-то вроде этого
<appsettings>
&ЛТ;добавить ключ="CanAddNewTranslation" значение="ложь"/&ГТ;


2. В проект добавить .Чистая ссылка на сборку на сборку, которая называется Система.Конфигурация.

3. в верхней части вашего класса добавьте "использование системы.Конфигурация;"

4. Теперь вы можете получить доступ к значению вашей ключевой настройки следующим образом.
Конфигурационный менеджер.Параметр Appsettings["CanAddNewTranslation"];

0 Ответов