Skip to content

Commit da854af

Browse files
authored
feat: allow set configure concurrently (#323)
* feat: allow set order by string config concurrently * chore: upgrade packages
1 parent 862b933 commit da854af

File tree

12 files changed

+47
-26
lines changed

12 files changed

+47
-26
lines changed

src/Cnblogs.Architecture.Ddd.Cqrs.Abstractions/Cnblogs.Architecture.Ddd.Cqrs.Abstractions.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@
2020
</ItemGroup>
2121

2222
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
23-
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.3" />
24-
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="8.0.0" />
23+
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.6" />
24+
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.6" />
2525
</ItemGroup>
2626

2727
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
28-
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.4" />
29-
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.4" />
28+
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.6" />
29+
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.6" />
3030
</ItemGroup>
3131

3232
</Project>

src/Cnblogs.Architecture.Ddd.Cqrs.Abstractions/PageableQueryHandlerBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public async Task<PagedList<TView>> Handle(TQuery request, CancellationToken can
3232
if (request.PagingParams.PageSize == 0 || totalCount == 0)
3333
{
3434
// need count only or no available item, short circuit here.
35-
return new PagedList<TView>(Array.Empty<TView>(), request.PagingParams, totalCount);
35+
return new PagedList<TView>([], request.PagingParams, totalCount);
3636
}
3737

3838
ordered = ordered.Paging(request.PagingParams);
@@ -95,4 +95,4 @@ protected virtual IQueryable<TView> ProjectToView(TQuery query, IQueryable<TEnti
9595
/// <param name="queryable">Projected <see cref="IQueryable{T}" />.</param>
9696
/// <returns>The query result.</returns>
9797
protected abstract Task<List<TView>> ToListAsync(TQuery query, IQueryable<TView> queryable);
98-
}
98+
}

src/Cnblogs.Architecture.Ddd.Cqrs.ServiceAgent/Cnblogs.Architecture.Ddd.Cqrs.ServiceAgent.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
</ItemGroup>
1313

1414
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
15-
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="8.0.15" />
15+
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="9.0.6" />
1616
</ItemGroup>
1717

1818
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
19-
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="9.0.4" />
19+
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="9.0.6" />
2020
</ItemGroup>
2121

2222
<ItemGroup>

src/Cnblogs.Architecture.Ddd.Infrastructure.Abstractions/OrderBySegmentConfig.cs

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.Diagnostics.CodeAnalysis;
1+
using System.Collections.Concurrent;
2+
using System.Diagnostics.CodeAnalysis;
23
using System.Linq.Expressions;
34

45
namespace Cnblogs.Architecture.Ddd.Infrastructure.Abstractions;
@@ -8,7 +9,7 @@ namespace Cnblogs.Architecture.Ddd.Infrastructure.Abstractions;
89
/// </summary>
910
public static class OrderBySegmentConfig
1011
{
11-
private static readonly Dictionary<Type, Dictionary<string, OrderBySegment>> Cache = new();
12+
private static readonly ConcurrentDictionary<Type, ConcurrentDictionary<string, OrderBySegment>> Cache = new();
1213

1314
/// <summary>
1415
/// 注册新的可排序列。
@@ -24,7 +25,7 @@ public static void RegisterSortableProperty<TSource, TProperty>(
2425
var sourceType = typeof(TSource);
2526
if (Cache.ContainsKey(sourceType) == false)
2627
{
27-
Cache[sourceType] = new Dictionary<string, OrderBySegment>(StringComparer.OrdinalIgnoreCase);
28+
Cache[sourceType] = new ConcurrentDictionary<string, OrderBySegment>(StringComparer.OrdinalIgnoreCase);
2829
}
2930

3031
Cache[sourceType][name] = new OrderBySegment(false, exp);
@@ -73,4 +74,24 @@ public static bool TryParseOrderBySegments<T>(
7374

7475
return segments.Count > 0;
7576
}
76-
}
77+
}
78+
79+
/// <summary>
80+
/// 管理可排序列的映射。
81+
/// </summary>
82+
/// <typeparam name="TEntity">The entity to config.</typeparam>
83+
public static class OrderBySegmentConfig<TEntity>
84+
{
85+
/// <summary>
86+
/// 注册新的可排序列。
87+
/// </summary>
88+
/// <param name="name">列名。</param>
89+
/// <param name="exp">属性表达式。</param>
90+
/// <typeparam name="TProperty">属性类型。</typeparam>
91+
public static void RegisterSortableProperty<TProperty>(
92+
string name,
93+
Expression<Func<TEntity, TProperty>> exp)
94+
{
95+
OrderBySegmentConfig.RegisterSortableProperty(name, exp);
96+
}
97+
}

src/Cnblogs.Architecture.Ddd.Infrastructure.CacheProviders.InMemory/Cnblogs.Architecture.Ddd.Infrastructure.CacheProviders.InMemory.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
</ItemGroup>
1313

1414
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
15-
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="8.0.1"/>
15+
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="9.0.6" />
1616
</ItemGroup>
1717

1818
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
19-
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="9.0.4"/>
19+
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="9.0.6" />
2020
</ItemGroup>
2121

2222

src/Cnblogs.Architecture.Ddd.Infrastructure.CacheProviders.Redis/Cnblogs.Architecture.Ddd.Infrastructure.CacheProviders.Redis.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</ItemGroup>
1313

1414
<ItemGroup>
15-
<PackageReference Include="StackExchange.Redis" Version="2.8.31" />
15+
<PackageReference Include="StackExchange.Redis" Version="2.8.41" />
1616
</ItemGroup>
1717

1818
</Project>

src/Cnblogs.Architecture.Ddd.Infrastructure.Dapper/Cnblogs.Architecture.Ddd.Infrastructure.Dapper.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
</ItemGroup>
1414

1515
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
16-
<PackageReference Include="Microsoft.Extensions.Options" Version="8.0.2" />
16+
<PackageReference Include="Microsoft.Extensions.Options" Version="9.0.6" />
1717
</ItemGroup>
1818

1919
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
20-
<PackageReference Include="Microsoft.Extensions.Options" Version="9.0.4" />
20+
<PackageReference Include="Microsoft.Extensions.Options" Version="9.0.6" />
2121
</ItemGroup>
2222

2323
</Project>

src/Cnblogs.Architecture.Ddd.Infrastructure.EntityFramework/Cnblogs.Architecture.Ddd.Infrastructure.EntityFramework.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</PropertyGroup>
1010

1111
<ItemGroup>
12-
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.4" />
12+
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.6" />
1313
</ItemGroup>
1414

1515
<ItemGroup>

src/Cnblogs.Architecture.Ddd.Infrastructure.FileProviders.AliyunOss/Cnblogs.Architecture.Ddd.Infrastructure.FileProviders.AliyunOss.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<ItemGroup>
4-
<PackageReference Include="aliyun.sdk.oss" Version="0.3.7" />
4+
<PackageReference Include="aliyun.sdk.oss" Version="0.4.0" />
55
</ItemGroup>
66

77
<ItemGroup>

test/Cnblogs.Architecture.IntegrationTests/Cnblogs.Architecture.IntegrationTests.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<ItemGroup>
33
<PackageReference Include="Cnblogs.Serilog.Extensions" Version="1.1.0" />
4-
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.0">
4+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.1">
55
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
66
<PrivateAssets>all</PrivateAssets>
77
</PackageReference>
88
<PackageReference Include="coverlet.collector" Version="6.0.4">
99
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1010
<PrivateAssets>all</PrivateAssets>
1111
</PackageReference>
12-
<PackageReference Include="Serilog.Sinks.InMemory" Version="0.15.0" />
13-
<PackageReference Include="Serilog.Sinks.InMemory.Assertions" Version="0.15.0" />
12+
<PackageReference Include="Serilog.Sinks.InMemory" Version="0.16.0" />
13+
<PackageReference Include="Serilog.Sinks.InMemory.Assertions" Version="0.16.0" />
1414
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
1515
</ItemGroup>
1616

test/Cnblogs.Architecture.TestShared/Cnblogs.Architecture.TestShared.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77

88
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
99
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="8.0.15"/>
10-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1"/>
10+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
1111
</ItemGroup>
1212
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
1313
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.4"/>
14-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0"/>
14+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
1515
</ItemGroup>
1616
</Project>

test/Cnblogs.Architecture.UnitTests/Cnblogs.Architecture.UnitTests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<ItemGroup>
4-
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.0">
4+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.1">
55
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
66
<PrivateAssets>all</PrivateAssets>
77
</PackageReference>
8-
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.4" />
8+
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.6" />
99
<PackageReference Include="coverlet.collector" Version="6.0.4">
1010
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1111
<PrivateAssets>all</PrivateAssets>

0 commit comments

Comments
 (0)