using Newtonsoft.Json;
|
using Rhea.Common;
|
using System;
|
|
namespace Tiger.IBusiness
|
{
|
/// <summary>
|
/// 事务基类
|
/// </summary>
|
public interface ITransaction
|
{
|
/// <summary>
|
/// 事务ID
|
/// </summary>
|
public string TransID { get; set; }
|
/// <summary>
|
/// Api Host
|
/// </summary>
|
public string ApiHost { get; set; }
|
/// <summary>
|
/// Remote Address
|
/// </summary>
|
public string RemoteAddress { get; set; }
|
/// <summary>
|
/// 事务锁
|
/// </summary>
|
public object TransLock { get; }
|
/// <summary>
|
/// 最后操作的时间
|
/// </summary>
|
public DateTime LastActionTime { get; set; }
|
/// <summary>
|
/// 事务是否完成
|
/// </summary>
|
public bool IsFinished { get; set; }
|
|
/// <summary>
|
/// 添加一个ApiAction的历史记录
|
/// </summary>
|
/// <typeparam name="T"></typeparam>
|
/// <param name="request"></param>
|
/// <param name="action"></param>
|
public abstract void AddHistory<T>(Microsoft.AspNetCore.Http.HttpRequest request, ApiAction<T> action);
|
|
/// <summary>
|
/// 保存ApiAction的历史记录到文件
|
/// </summary>
|
public abstract void SaveHistory();
|
|
/// <summary>
|
/// 关闭事务
|
/// </summary>
|
/// <param name="needSaveHistoryLog"></param>
|
/// <returns></returns>
|
public abstract bool Close(bool needSaveHistoryLog = false);
|
}
|
}
|