据我了解,为 net.msmq 配置的 WCF 服务在 IIS/WAS 中托管时不会作为 HttpApplication 运行,这意味着您不会在全局中获得事件(Application_Start 是重要的事件)。我在这方面是正确的吗?
使用 Windows Server AppFabric 自动启动服务是否会通过 HTTP 命中服务,导致 Application_Start 事件触发?如果是这样,这可靠吗?
我想我真正的问题是,非 HTTP WCF 服务的初始化代码的“正确”位置在哪里?
特别是(因为不同的东西的正确位置可能不同):
- 国际奥委会注册
- log4net 初始化
- 验证本地是否存在 MSMQ 队列(正如 Juval Lowy 在他的 WCF 书中所建议的那样)
后续问题:自定义 IServiceBehavior 中的事件是在每次请求时触发还是仅在启动时触发一次?ServiceHost.OnOpening() 怎么样 - 每个请求或仅在启动时一次?(我的测试表明它只有一次,但有人知道 WCF“生命周期”记录在哪里,因为我似乎无法在任何地方找到它。)