如果您在具有
默认服务行为设置的UI应用程序中自托管服务,您可能会看到您正在描述的行为.
默认服务行为使用同步上下文.在UI线程(WinForms,
WPF)中启动服务主机的情况下,所有请求都被路由到公共窗口消息loop =>所有请求都由UI线程按顺序处理.
在任何其他情况下(包括为UI线程中托管的服务手动设置[ServiceBehavior(UseSynchronizationContext = false)],服务主机为每个请求从线程池调度新线程.基于实例上下文模式和并发模式还有一些进一步的差异,但是使用默认设置,您将看到我描述的行为.