Actor-ES框架:Ray--事件(Event)编写说明
生活随笔
收集整理的這篇文章主要介紹了
Actor-ES框架:Ray--事件(Event)编写说明
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Event作用:
存儲事件數據。
IEventBase
K:是Actor的StateId的類型,可以是long、可以是string,Ray一般使用OGuid生成的字符串作為主鍵。
編寫Event繼承IEventBase接口,Base部分如下:
? ? ? ? public string Id { get; set; }public uint Version { get; set; }public string CommandId { get; set; }public DateTime Timestamp { get; set; }public string StateId { get; set; }public string TypeCode => this.GetType().FullName; Id:- 含義:當前Event的Id。- 作用:標識當前Event。- 備注:不賦值時,Ray會自動賦值。Version:- 含義:Event的版本戳。- 作用:防止事件亂序。- 備注:Ray會自動賦值。CommandId:- 含義:當前Event的CommandId。- 作用:一個請求(Command)可能會引發多個Event,多個Event之間擁有相同的CommandId,多個Event通過CommandId建立聯系。- 備注:不需要時默認為null。Timestamp:- 含義:當前Event的時間戳。- 作用:記錄當前Event的發生時間,時間為UTC時間。- 備注:不賦值時,Ray會自動賦值。StateId:- 含義:Actor的Id。- 作用:記錄引發事件的Actor的Id。- 備注:Ray會自動賦值。TypeCode:- 含義:事件的類型。- 作用:事件存儲時會存儲為二進制,重放時用于反序列化為對應的類型。- 備注:public string TypeCode => this.GetType().FullName。特性說明
ProtoContract:Ray默認使用ProtoBuf對Event序列化。
Immutable:Actor之間使用的時候。
Obsolete:事件過期時標記。
無參構造函數
作用:反序列化時用。
備注:必須寫。
自定義屬性與有參構造函數
自定義屬性:Event中用到的參數。
有參構造函數:用于自定義屬性的初始化。
事件過期
棄用事件標記為Obsolete。
新事件在業務邏輯上做兼容性處理。
API:該部分只介紹使用,高級部分在后面文檔說明。
相關文章:
Actor-ES框架:Ray
原文地址:http://www.cnblogs.com/CharlesZHENG/p/8343088.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的Actor-ES框架:Ray--事件(Event)编写说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Entity Framework Cor
- 下一篇: 利用OCR文字识别+百度算法搜索,玩转冲