Skip to content

Commit c737a34

Browse files
author
liguoliang
committed
修改demo示例
1 parent 82a5ba7 commit c737a34

8 files changed

Lines changed: 54 additions & 46 deletions

File tree

demo/Test.Client/Program.cs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,12 @@ static async Task Main(string[] args)
2525
var configuration = builder.Build();
2626

2727
IServiceCollection services = new ServiceCollection();
28-
services.AddLogging().AddDotNetCoreRpcClient()
28+
services.AddLogging()
2929
//单机版Httpclient配置
30-
.AddHttpClient(TestServerName, client => { client.BaseAddress = new Uri("http://localhost:34047/Test.Server6"); });
30+
.AddHttpClient(TestServerName, client => { client.BaseAddress = new Uri("http://localhost:34047/Test.Server6"); })
31+
.AddDotNetCoreRpcClient(options => {
32+
options.AddRpcClient<IPersonService>().AddRpcClient<IProductService>();
33+
});
3134
//基于Nacos注册中心
3235
//.AddNacosV2Naming(configuration)
3336
//.AddScoped<NacosDiscoveryDelegatingHandler>()
@@ -36,9 +39,9 @@ static async Task Main(string[] args)
3639
// client.BaseAddress = new Uri($"http://{TestServerName}/Test.Server6");
3740
//}).AddHttpMessageHandler<NacosDiscoveryDelegatingHandler>();
3841

39-
IServiceProvider serviceProvider = services.BuildServiceProvider();
40-
RpcClient rpcClient = serviceProvider.GetRequiredService<RpcClient>();
41-
IPersonService personService = rpcClient.CreateClient<IPersonService>(TestServerName);
42+
using var scope = services.BuildServiceProvider().CreateScope();
43+
IServiceProvider serviceProvider = scope.ServiceProvider;
44+
IPersonService personService = serviceProvider.GetService<IPersonService>();
4245

4346
int maxCount = 10000;
4447

@@ -148,7 +151,7 @@ static async Task Main(string[] args)
148151
stopwatch.Stop();
149152
Console.WriteLine($"tasks await:{stopwatch.Elapsed.TotalMilliseconds}");
150153

151-
IProductService productService = rpcClient.CreateClient<IProductService>(TestServerName);
154+
IProductService productService = serviceProvider.GetService<IProductService>();
152155
ProductDto product = new ProductDto
153156
{
154157
Id = 1000,
Lines changed: 39 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using System.Threading.Tasks;
23
using BenchmarkDotNet.Attributes;
34
using BenchmarkDotNet.Jobs;
45
using DotNetCoreRpc.Client;
@@ -8,54 +9,65 @@
89

910
namespace Test.Client
1011
{
11-
[SimpleJob(RuntimeMoniker.NetCoreApp31)]
12+
[SimpleJob(RuntimeMoniker.Net70)]
1213
[MemoryDiagnoser]
13-
[RPlotExporter]
1414
public class RpcClientBenchTest
1515
{
1616
private readonly IServiceCollection services;
1717
private readonly IServiceProvider serviceProvider;
18-
private readonly RpcClient rpcClient;
1918
private readonly IPersonService personService;
2019

21-
[Params(1000)]
22-
public int maxCount;
23-
2420
public RpcClientBenchTest()
2521
{
2622
services = new ServiceCollection();
27-
services.AddDotNetCoreRpcClient()
28-
.AddHttpClient("TestServer", client => { client.BaseAddress = new Uri("http://localhost:34047/"); });
23+
services.AddHttpClient("TestServer", client => { client.BaseAddress = new Uri("http://localhost:34047/Test.Server6"); })
24+
.AddDotNetCoreRpcClient(options =>
25+
{
26+
options.AddRpcClient<IPersonService>().AddRpcClient<IProductService>();
27+
});
2928

3029
serviceProvider=services.BuildServiceProvider();
31-
rpcClient = serviceProvider.GetRequiredService<RpcClient>();
32-
rpcClient.CreateClient<IPersonService>("TestServer");
30+
personService = serviceProvider.GetService<IPersonService>();
31+
32+
PersonModel person = new PersonModel
33+
{
34+
Id = 1,
35+
IdCardNo = 5555555,
36+
BirthDay = DateTime.Now,
37+
HasMoney = false
38+
};
39+
person.Name = "softlgl" + person.Id;
40+
personService.Add(person).GetAwaiter().GetResult();
3341
}
3442

3543
[Benchmark]
3644
public void GetTest()
3745
{
38-
for (int i = 0; i < maxCount; i++)
39-
{
40-
personService.Get(++i);
41-
}
46+
personService.Get(1);
4247
}
4348

49+
4450
[Benchmark]
45-
public async void AddTest()
51+
public async Task GetListTest()
4652
{
47-
for (int i = 0; i < maxCount; i++)
48-
{
49-
PersonModel person = new PersonModel
50-
{
51-
Id = ++i,
52-
IdCardNo = 5555555,
53-
BirthDay = DateTime.Now,
54-
HasMoney = false
55-
};
56-
person.Name = "softlgl" + person.Id;
57-
bool add = await personService.Add(person);
58-
}
53+
await personService.GetPersons();
5954
}
55+
56+
//[Benchmark]
57+
//public async void AddTest()
58+
//{
59+
// for (int i = 0; i < maxCount; i++)
60+
// {
61+
// PersonModel person = new PersonModel
62+
// {
63+
// Id = ++i,
64+
// IdCardNo = 5555555,
65+
// BirthDay = DateTime.Now,
66+
// HasMoney = false
67+
// };
68+
// person.Name = "softlgl" + person.Id;
69+
// bool add = await personService.Add(person);
70+
// }
71+
//}
6072
}
6173
}

demo/Test.Client/Test.Client.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" />
1616
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
1717
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
18-
<PackageReference Include="BenchmarkDotNet" Version="0.12.1" />
18+
<PackageReference Include="BenchmarkDotNet" Version="0.13.5" />
1919
<PackageReference Include="nacos-sdk-csharp" Version="1.3.4" />
2020
</ItemGroup>
2121
<ItemGroup>

demo/Test.Server/Startup.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,6 @@ public void ConfigureServices(IServiceCollection services)
3636
.AddSingleton(new RedisConfig { Address="127.0.0.1:6379",db=10 })
3737
.AddSingleton(new ElasticSearchConfig { Address = "127.0.0.1:9200" })
3838
.AddDotNetCoreRpcServer(options => {
39-
//options.AddService<IPersonService>();
40-
//options.AddService("*Service");
41-
//options.AddService("IPersonService");
42-
options.AddNameSpace("Test.IService");
4339
options.AddFilter<CacheFilter>();
4440
});
4541
//services.AddNacosAspNet(Configuration);

demo/Test.Server6/Program.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@
1515
.AddSingleton(new RedisConfig { Address = "127.0.0.1:6379", db = 10 })
1616
.AddSingleton(new ElasticSearchConfig { Address = "127.0.0.1:9200" })
1717
.AddDotNetCoreRpcServer(options => {
18-
//options.AddService<IPersonService>();
19-
//options.AddService("*Service");
20-
//options.AddService("IPersonService");
21-
options.AddNameSpace("Test.IService");
2218
options.AddFilter<CacheFilter>();
2319
});
2420

demo/Test.Service/Filters/CacheFilter.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using System.Net.Http.Headers;
44
using System.Threading.Tasks;
55
using DotNetCoreRpc.Core;
6-
using DotNetCoreRpc.Core.RpcBuilder;
6+
using DotNetCoreRpc.Server.RpcBuilder;
77
using Microsoft.Extensions.Logging;
88
using Test.Service.Configs;
99

@@ -23,6 +23,7 @@ public CacheFilter(ElasticSearchConfig elasticSearchConfig)
2323
{
2424
_elasticSearchConfig = elasticSearchConfig;
2525
}
26+
2627
public override async Task InvokeAsync(RpcContext context, RpcRequestDelegate next)
2728
{
2829
Logger.LogInformation($"CacheFilter begin,Parameters={context.Parameters}");

demo/Test.Service/Filters/LoggerFilter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
using System.Diagnostics;
33
using System.Threading.Tasks;
44
using DotNetCoreRpc.Core;
5-
using DotNetCoreRpc.Core.RpcBuilder;
5+
using DotNetCoreRpc.Server.RpcBuilder;
66
using Microsoft.Extensions.Logging;
77
using Test.Service.Configs;
88

demo/Test.Service/Test.Service.csproj

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

33
<PropertyGroup>
4-
<TargetFramework>netstandard2.1</TargetFramework>
4+
<TargetFrameworks>netcoreapp3.1;net5.0;net6.0;net7.0</TargetFrameworks>
55
</PropertyGroup>
66

77
<ItemGroup>
@@ -11,7 +11,7 @@
1111
<ProjectReference Include="..\Test.Model\Test.Model.csproj" />
1212
<ProjectReference Include="..\Test.IService\Test.IService.csproj" />
1313
<ProjectReference Include="..\Test.IDAL\Test.IDAL.csproj" />
14-
<ProjectReference Include="..\..\src\DotNetCoreRpc.Core\DotNetCoreRpc.Core.csproj" />
14+
<ProjectReference Include="..\..\src\DotNetCoreRpc.Server\DotNetCoreRpc.Server.csproj" />
1515
</ItemGroup>
1616
<ItemGroup>
1717
<Folder Include="Filters\" />

0 commit comments

Comments
 (0)