SignalR 依赖注入与功能扩展实战
1. 控制反转(IoC)与依赖注入基础
控制反转(IoC)原则是 SignalR 运行时的核心,依赖项可以通过自定义工厂轻松挂钩。SignalR 提供了一个简化的依赖注入系统,通过 GlobalHost
的 DependencyResolver
成员公开。这个系统甚至可以轻松地用我们喜欢的任何其他自定义实现替换。
2. 高级依赖注入:使用 Ninject
我们将使用 Ninject 作为通用的 IoC 容器来注册和注入依赖项,解决之前遇到的翻译器服务问题。
- 准备工作 :创建一个名为 Recipe43
的新空 Web 应用程序。
- 操作步骤 :
1. 引入新的 EchoHub
、 ITranslator
接口和 Translator
服务,代码与之前的实现相同。
2. 添加 Startup
类并准备初始化序列:
using Microsoft.Owin;
using Owin;
using Recipe43;
[assembly: OwinStartup(typeof(Startup))]
namespace Recipe43
{
public class Startup
{
public void