Volatile может быть изменено извне скомпилированного кода (например, программа может отображать энергозависимую переменную в регистр с отображением в памяти.) Компилятор не будет применять некоторые оптимизации к коду, который обрабатывает энергозависимую переменную - например, он не загрузит его в регистр, не записав его в память. Это важно при работе с аппаратными регистрами.
Да, вы можете использовать файлы Settings.Settings для проектов веб-приложений. Настройте его так же, как в ваших проектах WinForms. Однако в веб-проекте вы ограничены областью применения - вы не можете создавать пользовательские настройки.
Не зная более подробной информации о вашем приложении - возможно, лучше всего будет хранить пользовательские данные (или какой-либо другой централизованный репозиторий). Затем пользователи могли выбрать любую платформу и получить доступ к своим предпочтениям и настройкам.