Да, изменение в файле web.config приведет к тому, что приложение само перезапустится и сеанс будет потерян в зависимости от вашего хранилища сеансов.
Производительность при логической проверке минимальна, но это кошмар обслуживания.
Почему бы вам просто не использовать Блок приложения для ведения журнала библиотеки предприятия , который уже настраивается извне? Ссылка на то, что вы пытаетесь сделать, будет здесь Проверка состояния фильтра перед регистрацией
Если вы решите, что действительно хотите переключить регистрацию через if, то простым решением psuedo является добавление значения в web.config appSettings
<appSettings>
<add key="DiagnosticLogging" value="true" />
</appSettings>
А потом на вашей глобальной странице
public static readonly Boolean LoggingEnabled {get;}
Application_Start(..){
string log = ConfigurationSettings.AppSettings["DiagnosticLogging"];
LoggingEnabled = false;
if(!string.IsNullOrEmpty(log)){
if(!boolean.TryParse(out LoggingEnabled )){
//bad application setting.. handle
}
}
}