Как правило, по возможности старайтесь избегать глобального состояния в веб-приложениях. ASP.NET - это многопоточная среда, в которой несколько запросов могут обслуживаться параллельно. Если ваше глобальное состояние не является неизменным (только для чтения), вам придется решать проблемы, связанные с управлением изменяемым общим состоянием.
Если ваше общее состояние является неизменным, и вам не нужно его перечислять, то я не вижу проблем со статическими переменными.
Если ваше совместно используемое состояние является изменчивым / изменчивым, , то вы, вероятно, захотите создать абстракцию на основе любого нижележащего механизма, который вы выберете для хранения данных, чтобы обеспечить согласованность доступа и изменения этого общего состояния. и соответствует ожиданиям кода, который его потребляет. Вероятно, я бы также использовал системный кеш в таком дизайне, чтобы иметь возможность использовать функции истечения срока действия и зависимости, встроенные в службу кэширования (при необходимости).