说明
面向后端 worker(如物联网采集服务)的 SignalR 中心:设置 HubUrl(如
常见能力:
- 惰性加载 signalr.js,连中心才注入
- DotNetObjectReference 回推实时日志流
- 负载归一为 Level/Time/Source/Text 并按级别着色
- 关键字搜索 + 最低级别过滤
- 自动滚动 / 连接 / 断开 / 清空
- 断线自动重连、Bearer 令牌鉴权
- MaxLines 缓冲上限、超出丢最旧
- 无中心时可命令式 Append 注入
- Web 与 Blazor Hybrid 双端可用
- 文本经 LocalService 本地化
用法
@* 连后端 SignalR 中心:中心向客户端 Method(默认 Log) 推送日志 *@
<ConsoleLog HubUrl="/hubs/iot-log"
Title="设备运行日志"
MaxLines="500" Height="320px"
AutoConnect="true" Reconnect="true" />
@* 需鉴权的中心带 Bearer 令牌 *@
<ConsoleLog HubUrl="https://worker.contoso.com/hubs/iot-log"
AccessToken="@token" />
@* 无中心时命令式注入(离线预览 / 测试) *@
<ConsoleLog @ref="log" Title="设备运行日志" HubUrl="" />
@code {
private ConsoleLog log;
protected override void OnAfterRender(bool first)
{
if (first) log.Append("info", "设备已上线", "网关 GW-01");
}
}
API 参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
AccessToken |
string |
null |
访问令牌(Bearer),需要鉴权的中心传入;留空则不带令牌。 |
AutoConnect |
bool |
false |
是否在首次渲染后自动连接(需同时提供 HubUrl)。 |
AutoScroll |
bool |
true |
新日志到达时是否自动滚动到底部,默认开启。 |
Height |
string |
"320px" |
日志区高度,默认 320px。 |
HubUrl |
string |
null |
SignalR 中心地址(如 /hubs/iot-log)。留空则点连接仅提示、不发起请求。 |
MaxLines |
int |
500 |
缓冲区最大行数,超出后丢弃最旧日志,默认 500。 |
Method |
string |
"Log" |
中心向客户端推送日志的事件方法名,默认 Log。 |
Reconnect |
bool |
true |
断线后是否自动重连,默认开启。 |
Title |
string |
"运行日志" |
面板标题(翻译键)。 |
Visible |
bool |
true |
取得或设置组件是否可见,默认为false。 |
VisibleChanged |
EventCallback<bool> |
— | 事件 取得或设置组件可见性变化时的回调事件。 |
Class |
string |
null |
取得或设置组件的CSS类名,用于自定义样式。 |
Disabled |
bool |
false |
取得或设置组件是否禁用,默认为false。 |
Style |
string |
null |
取得或设置组件的内联样式,用于自定义样式。 |
所有组件均继承
BaseComponent,除上表参数外还支持Class、Style、Disabled、Visible。
扫码关注公众号
扫码加入 QQ 群