I want to specify an argument in an attribute, like this:
[OutputCache(Duration = GlobalSettings.GlobalVar)]
Where GlobalVar is a variable
The problem is that attribute values have to be determined at compile time - they're embedded in the assembly. That's why you have to use a constant expression (not just a global variable - truly a constant).