我正在用 C# 编写 WCF 服务。最初,我的实现有一个静态构造函数来执行一些一次性初始化,但是正在完成的一些初始化可能(暂时)失败。
即使第一次(失败的)尝试引发了异常,静态构造函数似乎只被调用一次?任何后续实例化我的类的尝试都将立即失败,并且TypeInitializationException
没有实际执行代码。
C# 语言规范规定,静态构造函数最多调用一次,但基本上这会在其中产生一个异常,即使您捕获它,您也无法从中恢复?
我在这里错过了什么吗?我想我应该将任何远程危险的东西移到服务的实例构造函数中,并手动检查类初始化是否已经成功完成?