Я инкапсулирую блок приложения EntLib 5 для ведения журнала. Я видел в документации, что каждый раз, когда вы хотите регистрироваться, вы должны взглянуть на «IsLoggingEnabled()». Тот факт, что это метод, а не свойство, скажите мне, что это операция, для которой требуется некоторое время, но ... могу ли я кэшировать это значение в локальной переменной и проверить, можно ли на ней зарегистрироваться или нет? ?Может ли IsLoggingEnabled() изменяться во время выполнения?
Cheers.
Я вижу. Таким образом, в веб-среде не проблема, потому что каждый раз, когда вы изменяете web.config, iis перезагружает приложение. Но в приложении или сервисе Windows вы можете изменить значения, а затем это создаст проблему. Я прав? – vtortola
Ну, так кажется: http://msdn.microsoft.com/en-us/library/ff664640%28v=PandP.50%29.aspx «В приложениях Windows Forms вы можете перезапустить приложение, чтобы заставить его читать все новые сведения о конфигурации. Приложения Web Forms (ASP.NET) будут обнаруживать и перезагружать информацию о конфигурации, но стандартное поведение ASP.NET заставляет приложение перезапускаться при редактировании файла конфигурации, что приводит к тому, что все состояние потерянный для приложения ». –
Вы не можете изменить стек протоколирования во время выполнения через код, но вы можете изменить конфигурацию во время выполнения с помощью кода, который вызывает изменение стека протоколирования во время выполнения. :) –