mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-04-24 08:56:35 +08:00
1. 实现了Tag的Get/Set接口
This commit is contained in:
@@ -3,6 +3,7 @@ using Serein.Library.Utils;
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Data.Common;
|
using System.Data.Common;
|
||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -126,6 +127,24 @@ namespace Serein.Library.Api
|
|||||||
/// <param name="data"></param>
|
/// <param name="data"></param>
|
||||||
void AddOrUpdate(string nodeModel, object data);
|
void AddOrUpdate(string nodeModel, object data);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置共享对象(在同一个上下文中保持一致)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="tag"></param>
|
||||||
|
void SetTag(object tag);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 指定泛型尝试获取共享对象(在同一个上下文中保持一致)
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="T"></typeparam>
|
||||||
|
T? GetTag<T>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 指定泛型尝试获取共享对象(在同一个上下文中保持一致)
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="T"></typeparam>
|
||||||
|
/// <param name="tag"></param>
|
||||||
|
bool TryGetTag<T>(out T? tag);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 重置流程状态(用于对象池回收)
|
/// 重置流程状态(用于对象池回收)
|
||||||
|
|||||||
@@ -266,7 +266,7 @@ namespace Serein.Library
|
|||||||
/// 设置共享对象,不建议设置非托管对象
|
/// 设置共享对象,不建议设置非托管对象
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="tag"></param>
|
/// <param name="tag"></param>
|
||||||
private void SetTag(object tag)
|
public void SetTag(object tag)
|
||||||
{
|
{
|
||||||
lock (_tagLockObj)
|
lock (_tagLockObj)
|
||||||
{
|
{
|
||||||
@@ -275,10 +275,11 @@ namespace Serein.Library
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取共享对象(将在同一个 Web Socket 调起的上下文中保持一致)
|
/// 指定泛型获取共享对象(在同一个上下文中保持一致)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T"></typeparam>
|
/// <typeparam name="T"></typeparam>
|
||||||
private T? GetTag<T>()
|
/// <returns></returns>
|
||||||
|
public T? GetTag<T>()
|
||||||
{
|
{
|
||||||
TryGetTag(out T? tag);
|
TryGetTag(out T? tag);
|
||||||
return tag;
|
return tag;
|
||||||
@@ -286,11 +287,11 @@ namespace Serein.Library
|
|||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取共享对象(将在同一个 Web Socket 调起的上下文中保持一致)
|
/// 指定泛型尝试获取共享对象(在同一个上下文中保持一致)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T"></typeparam>
|
/// <typeparam name="T"></typeparam>
|
||||||
/// <param name="tag"></param>
|
/// <param name="tag"></param>
|
||||||
private bool TryGetTag<T>([NotNullWhen(true)] out T? tag)
|
public bool TryGetTag<T>([NotNullWhen(true)] out T? tag)
|
||||||
{
|
{
|
||||||
lock (_tagLockObj)
|
lock (_tagLockObj)
|
||||||
{
|
{
|
||||||
@@ -306,11 +307,11 @@ namespace Serein.Library
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取共享对象(将在同一个 Web Socket 调起的上下文中保持一致)
|
/// 指定泛型尝试获取共享对象(在同一个上下文中保持一致)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T"></typeparam>
|
/// <typeparam name="T"></typeparam>
|
||||||
/// <param name="tag"></param>
|
/// <param name="tag"></param>
|
||||||
private bool TryGetTag<T>(out T? tag)
|
public bool TryGetTag<T>(out T? tag)
|
||||||
{
|
{
|
||||||
lock (_tagLockObj)
|
lock (_tagLockObj)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user