По умолчанию конструкторы будут вызываться всякий раз, когда вызывается класс, как сделать так, чтобы он вызывался только один раз, без использования статических конструкторов?
Статический конструктор вызывается только один раз для каждого класса. Конструктор экземпляра вызывается каждый раз, когда создается экземпляр класса. Мне непонятно, почему вы не можете использовать статический конструктор.
Используйте шаблон синглтона.Взгляните на http://www.yoda.arachsys.com/csharp/singleton.html