Skip to content

Class EventStream

Namespace: Tool.Web
Assembly: Tool.Net.dll

SSE服务器事件流

csharp
public class EventStream : IEventStream

Inheritance

objectEventStream

Implements

IEventStream

Inherited Members

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

Extension Methods

ObjectExtension.Add<T>(object, object, object), ObjectExtension.CopyEntity(object, object, params string[]), ObjectExtension.EntityToJson(object), ObjectExtension.EntityToJson(object, bool), ObjectExtension.EntityToJson(object, bool, string), DictionaryExtension.GetDictionary(object), TypeExtension.GetFieldKey(object, string, out bool), TypeExtension.GetFieldKey<T>(object, string, out bool), TypeExtension.GetFieldKey(object, Type, string, out bool), ObjectExtension.GetIntPtr(object), ObjectExtension.GetIntPtrInt(object), TypeExtension.GetPropertieFind(object, string, bool), TypeExtension.GetProperties(object), TypeExtension.GetPropertyKey(object, string, out bool), TypeExtension.GetPropertyKey<T>(object, string, out bool), TypeExtension.GetPropertyKey(object, Type, string, out bool), TypeExtension.GetValue(object, PropertyDescriptor), TypeExtension.GetValue(object, string, bool), TypeExtension.GetValue(object, string), ObjectExtension.Read<T>(object, object, int, int), ObjectExtension.Read<T>(object, int, object, int, int), DictionaryExtension.SetDictionary(object, IDictionary<string, object>), TypeExtension.SetFieldKey(object, string, object), TypeExtension.SetFieldKey<T>(object, string, object), TypeExtension.SetFieldKey(object, Type, string, object), TypeExtension.SetPropertyKey(object, string, object), TypeExtension.SetPropertyKey<T>(object, string, object), TypeExtension.SetPropertyKey(object, Type, string, object), TypeExtension.SetValue(object, PropertyDescriptor, object), TypeExtension.SetValue(object, string, object, bool), TypeExtension.SetValue(object, string, object), ObjectExtension.ToBase64String(object), ObjectExtension.ToBytes(object), ObjectExtension.ToBytes(object, out Type), DictionaryExtension.ToDictionary(object), DictionaryExtension.ToDictionary<T>(object), DictionaryExtension.ToIDictionary(object), DictionaryExtension.ToIDictionary<T>(object), ObjectExtension.ToJson(object), ObjectExtension.ToJson(object, JsonSerializerOptions), ObjectExtension.ToJsonWeb(object), ObjectExtension.ToJsonWeb(object, Action<JsonSerializerOptions>), ObjectExtension.ToTryVar<T>(object, T), ObjectExtension.ToVar<T>(object), ObjectExtension.ToVar(object, Type, bool), ObjectExtension.ToVar(object, string), ObjectExtension.ToXml(object)

Remarks

代码由逆血提供支持

Constructors

EventStream(Func<EventStream, Task>, HttpContext, int)

SSE服务器事件流

csharp
public EventStream(Func<EventStream, Task> func, HttpContext context, int retry = 3000)

Parameters

func Func<EventStream, Task>

流回复任务

context HttpContext

连接对象

retry int

指定浏览器重新发起连接的时间间隔

Properties

ContentEncoding

输出的编码格式

csharp
public Encoding ContentEncoding { get; set; }

Property Value

Encoding

Context

连接对象

csharp
public HttpContext Context { get; }

Property Value

HttpContext

LastEventID

最后一次接收到的事件的标识符

csharp
public int LastEventID { get; set; }

Property Value

int

Retry

告知断开后多久重连

csharp
public int Retry { get; set; }

Property Value

int

Methods

ExecuteResultAsync()

开始挂起输出流,直到 函数完成为止。

csharp
public Task ExecuteResultAsync()

Returns

Task

任务

ServerSent<T>(T, string, string)

发送通知

csharp
public Task ServerSent<T>(T t, string @event = "message", string id = "") where T : class

Parameters

t T

event string

id string

Returns

Task

Type Parameters

T

基于Apache-2.0协议开源