I want the admin users to be able to modify those values periodically via an admin web page
Database, definitely. The config file is a convenient place to store non-static values, but not always the best place. Step back for a moment and consider two "buckets" of such values:
- Logical configurations which users can change within any given instance of the application.
- Infrastructure configurations which define any given instance of the application and how it relates to the surrounding environment.
The former is best kept in the application's database, the latter in the config file. The former might contain values like:
- Business holidays observed this year
- Values used in calculating business data
- Defaults for user forms
While the latter might contain values like:
- Database connection strings
- URLs for external web services
- Credentials for service accounts
Let the users change things that they can change without physically breaking the application, and track those changes in the database. Keep the infrastructure details in the config file, since a change to those details would very likely require an app pool restart anyway.