Team.Feeder.Service 2.0.1
Team.Feeder.Service
Team.Feeder.Service 提供多设备协调层。它解决的问题不是“如何控制某一台设备”,而是“当宿主同时管理很多台设备时,如何注册、查询、批量操作、汇总状态,并把事件统一转发给上层”。
适用场景
- 你的桌面程序或 CLI 需要同时管理多台 Feeder。
- 你不想在宿主里自己维护一个
Dictionary<Guid, IFeeder>。 - 你需要批量初始化、批量连接、批量断开和统一结果汇总。
包内提供的核心对象
| 类型 | 作用 |
|---|---|
IFeederManager |
多设备管理接口 |
FeederManager |
默认实现,负责注册、移除、批量操作和事件转发 |
FeederManagerOptions |
批量失败时是否继续、是否抛异常等策略 |
FeederManagerSnapshot |
聚合快照,适合给 UI 或监控层使用 |
FeederManagerOperationResult |
单设备操作结果 |
FeederManagerBatchOperationResult |
批量操作结果 |
安装
dotnet add package Team.Feeder.Service
安装本包时会自动拉取 Team.Feeder.Abstractions。
最小使用示例
using Team.Feeder.Service.Management;
using Team.Feeder.Service.Models;
var manager = new FeederManager(new FeederManagerOptions
{
ContinueBatchOnError = true,
ThrowOnBatchFailure = false,
});
manager.Register(feederA);
manager.Register(feederB);
var connectResult = await manager.ConnectAllAsync();
Console.WriteLine($"Succeeded: {connectResult.SucceededCount}");
Console.WriteLine($"Failed: {connectResult.FailedCount}");
var snapshot = manager.GetSnapshot();
Console.WriteLine($"Total: {snapshot.TotalCount}, Connected: {snapshot.ConnectedCount}");
事件转发
FeederManager 会订阅所有已注册设备的 StatusChanged,然后通过自己的 FeederStatusChanged 事件把变化以管理层语义重新转发出去。这样做的好处是:
- 宿主只需要订阅一个入口。
- 可以在一个地方统一做日志、监控和 UI 刷新。
- 不需要为每台设备单独维护事件订阅生命周期。
单设备操作与批量操作
IFeederManager 同时支持两类调用:
- 面向单设备:
InitializeAsync(Guid)、ConnectAsync(Guid)、DisconnectAsync(Guid)等。 - 面向全部设备:
InitializeAllAsync()、ConnectAllAsync()、DisconnectAllAsync()等。
如果你希望“某一台失败就立即停下”,把 ContinueBatchOnError 设为 false。如果你希望“最后统一拿结果,由上层决定怎么提示”,保留默认的结构化结果返回即可。
何时需要它,何时不需要
适合使用本包:
- 宿主维护多台设备。
- 需要统一注册和批量操作。
- 需要聚合快照和统一事件出口。
可以不使用本包:
- 你的程序只控制一台设备。
- 你已经有自己的多设备管理框架,并且只想复用
IFeeder。
与其他包的关系
- 设备实例通常来自
Team.Feeder.FFFeeder或其他实现包。 - 如果还需要宿主持久化注册表、恢复设备实例、导入导出配置,一般继续引用
Team.Feeder.Host。 - 如果需要 WPF 直接绑定多设备状态,可继续接
Team.Feeder.Controls.Wpf。
边界说明
- 这里不实现任何具体设备协议。
- 这里不负责设备发现和网络扫描。
- 这里不包含 UI 控件。
- 这里不替代设备专属能力接口,例如振动参数、序列编辑、背光控制。
本包的职责只有一个:把多设备宿主的协调逻辑做稳定,而不是把所有设备功能都堆进管理器。
Showing the top 20 packages that depend on Team.Feeder.Service.
| Packages | Downloads |
|---|---|
|
Team.Feeder.Host
Shared host-side infrastructure for Team.Feeder desktop and CLI applications.
|
9 |
|
Team.Feeder.Controls.Wpf
WPF controls and resources for Team.Feeder.
|
8 |
|
Team.Feeder.Controls.Wpf
WPF controls and resources for Team.Feeder.
|
7 |
|
Team.Feeder.Host
Shared host-side infrastructure for Team.Feeder desktop and CLI applications.
|
6 |
|
Team.Feeder.Controls.Wpf
WPF controls and resources for Team.Feeder.
|
6 |
|
Team.Feeder.Host
Shared host-side infrastructure for Team.Feeder desktop and CLI applications.
|
5 |
.NET Standard 2.0
- Team.Feeder.Abstractions (>= 2.0.1)
| Version | Downloads | Last updated |
|---|---|---|
| 2.0.2 | 12 | 09/19/2026 |
| 2.0.1 | 5 | 09/14/2026 |
| 2.0.0 | 6 | 09/02/2026 |
| 2.0.0-alpha2 | 8 | 09/02/2026 |