For the complete documentation index, see llms.txt. This page is also available as Markdown.

通知器

INotifier 通知激发器接口和实现状态。

INotifier 是通知激发器接口,用于向指定接收者激发一条命名通知。它比 ITransmitter 更泛化:通知内容、接收者、设置对象和返回结果都由具体实现自行定义。

接口成员

成员
说明

Notify

同步激发通知。

NotifyAsync

异步激发通知。

来源:framework/Zongsoft.Core/src/Communication/INotifier.cs(节选;上下文见源文件)。

INotifier.cs
public interface INotifier
{
	/// <summary>激发一个通知给指定的接受者。</summary>
	/// <param name="name">指定要激发的通知名。</param>
	/// <param name="content">指定的通知内容。</param>
	/// <param name="destination">指定通知的接受者,由具体实现者定义支持的接受者类型。</param>
	/// <param name="settings">指定的通知设置。</param>
	/// <returns>返回通知结果对象,由具体实现者定义。</returns>
	object Notify(string name, object content, object destination, object settings = null);

	/// <summary>异步激发一个通知给指定的接受者。</summary>
	/// <param name="name">指定要激发的通知名。</param>
	/// <param name="content">指定的通知内容。</param>
	/// <param name="destination">指定通知的接受者,由具体实现者定义支持的接受者类型。</param>
	/// <param name="settings">指定的通知设置。</param>
	/// <returns>返回通知结果对象,由具体实现者定义。</returns>
	ValueTask<object> NotifyAsync(string name, object content, object destination, object settings = null);
}

与 Transmitter 的区别

INotifier 和 ITransmitter 都可以用于“通知”,但关注点不同:

抽象
关注点
适合场景

INotifier

激发一条命名通知,目标、设置和结果由实现定义。

站内通知、会话通知、桌面推送、自定义业务提醒。

ITransmitter

按发送器、通道、模板和参数发送模板化信息。

模板短信、语音通知、微信模板消息、验证码发送。

Discussions 的站内消息路径

当前 Discussions 和 framework 中没有可供复用的 INotifier 完整实现。Discussions 使用 MessageService 保存站内消息与接收者关系;它不是 INotifier 的实现,也不负责把消息实时推送到在线会话。

来源:src/Services/MessageService.cs(节选;上下文见源文件)。

Send 接收消息对象及用户编号集合,在事务中写入消息和 UserMessage。读取状态由 MessageService 的查询钩子更新。若需要理解通用模板短信的真实发送过程,请继续阅读 Transmitter。

相关资源

最后更新于