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