So I\'m using a Global Resource file for all static messages within my site. Mainly error messages etc..
They do not need to be localized, but I felt it was just a
Under the hood visual studio creates a designer file which is essentially a static class of strings. So there shouldn't be any difference between the two approaches. See this question for a bit more information. You should be able to view the designer file by turning on the "show all files" option in the solution explroer in visual studio.
If you're not happy with the code that's generated, check out this page for information on how to customize the generated code.
Definitely use resource files.
The .resx files do create classes under the hood for you. Most importantly, though, the auto-generated code will already have all the localization stuff taken care of for you. If you decide to localize your application, there will also be automatic support for that stuff if you use the prescribed file/folder structure. Not to mention that localizing your app will merely be a matter of translation, which is the best-case scenario (not mentioning other localization issues like currency, which is a whole separate issue).
That's the most common place for messages. Even Microsoft uses them with .net Framework. Look inside any DLL and you'll find them inside as resource (use a tool like .Net Reflector)
Constants are usually used with low level unmanaged code.