我有一个具有已定义工作流的 WCF 服务。我公司的所有开发都遵循了一个流程,其中包括:
- 拥有应用程序的配置文件
- 初始化日志文件路径
我读过服务类中的静态构造函数会这样做,但它是正确的做事方式吗?
该服务托管在 Windows 服务中,服务类的配置如下:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Single)]
...在 app.config 中,节流设置如下:
<serviceThrottling maxConcurrentCalls="1" maxConcurrentSessions="5" maxConcurrentInstances="5" />
如何编写初始化,以便它仅在启动时执行,这将适用于中的每个选项InstanceContextMode
?
对 WCF 服务执行 1 和 2 的最佳做法是什么?
读取配置文件和初始化日志文件应该发生一次;除非重新启动服务,否则不应为每个请求执行该代码。