【发布时间】:2014-06-02 17:24:10
【问题描述】:
我对 SignalR 还很陌生。 我开始编写集线器并将该逻辑放入类库中。
这是我想要完成的任务:
我有一个“预处理器”服务,它会启动并从外部源预获取一些对象/文档/等,并将它们放入缓存中。在预取所有项目后,我正在使用集线器与客户端进行通信。
我们还有几个客户消费者。其中包括:
- 典型的 MVC 应用/项目
- 我们用于快速测试的控制台应用
- 一个 webapi 和一个 WCF/SOAP 项目,用于向外部方公开我们的服务
- 一个单元测试项目
问题
通过将集线器放在类库中,我使所有下游消费者(包括其他类库)都依赖于 OWIN...我现在需要我的启动类(和/或应用程序配置设置来告诉 Owin不使用它)。
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
或
<add key="owin:AutomaticAppStartup " value="false" />
架构?
这对我来说“有味道”。也许 SignalR 集线器不应该在类库中?如果是这样的话,什么是更好的设计?例如在自己的 WebApi 服务中有集线器吗?以及该服务的代理?这样,我的预处理器逻辑(包含在类库中)可以调用集线器吗?
我们将不胜感激。
【问题讨论】:
标签: .net web-services shared-libraries signalr