Как хранить и извлекать константы, которые не настраиваются в ASP.NET? - PullRequest
0 голосов
/ 21 августа 2009

Как классам лучше всего извлекать / хранить константы, не получая их через web.config?

Ответы [ 4 ]

4 голосов
/ 21 августа 2009

Храните их как статические в классе, что-то вроде этого:

public static class DbConstants
{
    public static const string CustomersTableName = "CUST";
    public static const string ProductsTableName = "PROD";
    ...
}

Попробуйте разделить их на несколько классов, чтобы логически сгруппировать их, например, один класс для констант БД, один класс для сообщений об исключениях и т. д.

4 голосов
/ 21 августа 2009

Вы включаете статический класс со всеми своими константами в нем.

public static class MyConstants
{
    public const string MyString = "ConstString";
    public const int TestInt = 100;
    // etc...
}
1 голос
/ 21 августа 2009

Это зависит от того, насколько они «постоянны». Если они действительно постоянны, это то, что никогда не изменится, тогда статический класс с константами в нем. Например. число PI или, возможно, константа, связывающая имя поля в таблице.

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

<appSettings file="local.config">...</appSettings>

Затем local.config должен просто содержать элемент appSettings. Если файл local.config не существует, он будет проигнорирован. Так что никаких исключений. Любой параметр, который существует как в local.config, так и в web.config, будет использоваться local.config. Затем вы можете предоставить общий доступ к файлу веб-конфигурации между многими установками и переопределить локальные параметры в файле local.config.

Если константы - это нечто большее, что суперпользователь должен иметь возможность изменять во время выполнения, тогда я бы выбрал таблицу в базе данных. Например. a если вы позволите суперпользователю изменить максимальное количество попыток повторного ввода пароля или что-то подобное.

1 голос
/ 21 августа 2009

XML-файлов и используйте кэш приложений для повышения производительности, или вы можете использовать файлы конфигурации ASP.NET.

...