Skip to content

Commit 372269e

Browse files
committed
feat: GetUniqueName方法添加缓存
1 parent 9662123 commit 372269e

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

src/BootstrapBlazor/Extensions/AssemblyExtensions.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,5 @@ static class AssemblyExtensions
1414
/// </summary>
1515
/// <param name="assembly"></param>
1616
/// <returns></returns>
17-
public static string GetUniqueName(this Assembly assembly) => assembly.IsCollectible
18-
? $"{assembly.GetName().Name}-{assembly.GetHashCode()}"
19-
: $"{assembly.GetName().Name}";
17+
public static string GetUniqueName(this Assembly assembly) => CacheManager.GetUniqueName(assembly);
2018
}

src/BootstrapBlazor/Services/CacheManager.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,26 @@ private List<ICacheEntry> GetAllValues(MemoryCache cache)
216216
}
217217
#endif
218218

219+
#region Assembly
220+
/// <summary>
221+
/// 获得唯一类型名称方法
222+
/// </summary>
223+
/// <param name="assembly"></param>
224+
/// <returns></returns>
225+
public static string GetUniqueName(Assembly assembly)
226+
{
227+
//key不拼接,作为当前静态实例唯一标识,因为GetUniqueName方法会被频繁调用
228+
return Instance.GetOrCreate(assembly, _ =>
229+
{
230+
return assembly.IsCollectible
231+
? $"{assembly.GetName().Name}-{assembly.GetHashCode()}"
232+
: $"{assembly.GetName().Name}";
233+
}
234+
);
235+
}
236+
237+
#endregion
238+
219239
#region Count
220240
public static int ElementCount(object? value)
221241
{

0 commit comments

Comments
 (0)