我正在设计一个应能够执行以下操作的应用程序:
- 支持多种类型的会话(每种会话均实现不同的通信协议)
- 能够并行运行每种会话类型的多个实例
- 使多个客户端能够与同一个会话实例进行交互
我现在的问题:
- 是否最好让每个会话使用单独的服务,或者在这种情况下可以有多个合同?还是我的约束阻止了这两种选择之一?
- 为了使多个客户端能够与同一个会话实例进行交互,我需要设置“ ServiceBehavior(InstanceContextMode = InstanceContextMode.Single“)]”,但这不会限制系统具有单个服务实例,因此阻止我创建多个独立的服务实例(每个实例可由一堆客户端独立使用)?如果是,是否有解决方案?