Skip to content

Commit 594cecf

Browse files
authored
Add NSB10 version of message body encryption sample (#7564)
* Fixup NSB9 version * Add NSB10 version
1 parent 9ca59ca commit 594cecf

File tree

13 files changed

+163
-5
lines changed

13 files changed

+163
-5
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<TargetFramework>net10.0</TargetFramework>
4+
<OutputType>Exe</OutputType>
5+
<LangVersion>preview</LangVersion>
6+
</PropertyGroup>
7+
<ItemGroup>
8+
<ProjectReference Include="..\Shared\Shared.csproj" />
9+
</ItemGroup>
10+
</Project>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
using System;
2+
using System.Threading.Tasks;
3+
using NServiceBus;
4+
5+
class Program
6+
{
7+
static async Task Main()
8+
{
9+
Console.Title = "Endpoint2";
10+
var endpointConfiguration = new EndpointConfiguration("Samples.MessageBodyEncryption.Endpoint1");
11+
endpointConfiguration.UseSerialization<SystemJsonSerializer>();
12+
endpointConfiguration.UseTransport(new LearningTransport());
13+
14+
#region RegisterMessageEncryptor
15+
16+
endpointConfiguration.RegisterMessageEncryptor();
17+
18+
#endregion
19+
20+
var endpointInstance = await Endpoint.Start(endpointConfiguration);
21+
var completeOrder = new CompleteOrder
22+
{
23+
CreditCard = "123-456-789"
24+
};
25+
await endpointInstance.Send("Samples.MessageBodyEncryption.Endpoint2", completeOrder);
26+
Console.WriteLine("Message sent");
27+
Console.WriteLine("Press any key to exit");
28+
Console.ReadKey();
29+
await endpointInstance.Stop();
30+
}
31+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using System.Threading.Tasks;
2+
using Microsoft.Extensions.Logging;
3+
using NServiceBus;
4+
using NServiceBus.Logging;
5+
6+
public class CompleteOrderHandler(ILogger<CompleteOrderHandler> logger) :
7+
IHandleMessages<CompleteOrder>
8+
{
9+
10+
public Task Handle(CompleteOrder message, IMessageHandlerContext context)
11+
{
12+
logger.LogInformation("Received CompleteOrder with credit card number {CreditCard}", message.CreditCard);
13+
return Task.CompletedTask;
14+
}
15+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<TargetFramework>net10.0</TargetFramework>
4+
<OutputType>Exe</OutputType>
5+
<LangVersion>preview</LangVersion>
6+
</PropertyGroup>
7+
<ItemGroup>
8+
<PackageReference Include="NServiceBus.Extensions.Hosting" Version="4.0.0-alpha.2" />
9+
</ItemGroup>
10+
<ItemGroup>
11+
<ProjectReference Include="..\Shared\Shared.csproj" />
12+
</ItemGroup>
13+
</Project>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using System;
2+
using Microsoft.Extensions.Hosting;
3+
using NServiceBus;
4+
5+
6+
Console.Title = "Endpoint2";
7+
var builder = Host.CreateApplicationBuilder(args);
8+
9+
var endpointConfiguration = new EndpointConfiguration("Samples.MessageBodyEncryption.Endpoint2");
10+
endpointConfiguration.UseSerialization<SystemJsonSerializer>();
11+
endpointConfiguration.UseTransport(new LearningTransport());
12+
endpointConfiguration.RegisterMessageEncryptor();
13+
14+
builder.UseNServiceBus(endpointConfiguration);
15+
await builder.Build().RunAsync();
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 16
4+
VisualStudioVersion = 16.0.29728.190
5+
MinimumVisualStudioVersion = 15.0.26730.12
6+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Endpoint1", "Endpoint1\Endpoint1.csproj", "{E94B7783-5A00-4C72-9C9B-B126D8E59314}"
7+
EndProject
8+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Endpoint2", "Endpoint2\Endpoint2.csproj", "{52D01D1A-0522-42A3-8C9B-3002B6C6757A}"
9+
EndProject
10+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared", "Shared\Shared.csproj", "{7B8DA931-9045-4A0C-A143-6F36F3175BBF}"
11+
EndProject
12+
Global
13+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
14+
Debug|Any CPU = Debug|Any CPU
15+
EndGlobalSection
16+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
17+
{E94B7783-5A00-4C72-9C9B-B126D8E59314}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
18+
{E94B7783-5A00-4C72-9C9B-B126D8E59314}.Debug|Any CPU.Build.0 = Debug|Any CPU
19+
{52D01D1A-0522-42A3-8C9B-3002B6C6757A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
20+
{52D01D1A-0522-42A3-8C9B-3002B6C6757A}.Debug|Any CPU.Build.0 = Debug|Any CPU
21+
{7B8DA931-9045-4A0C-A143-6F36F3175BBF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
22+
{7B8DA931-9045-4A0C-A143-6F36F3175BBF}.Debug|Any CPU.Build.0 = Debug|Any CPU
23+
EndGlobalSection
24+
GlobalSection(SolutionProperties) = preSolution
25+
HideSolutionNode = FALSE
26+
EndGlobalSection
27+
EndGlobal
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
using NServiceBus;
2+
#region Message
3+
public class CompleteOrder : IMessage
4+
{
5+
public string CreditCard { get; set; }
6+
}
7+
#endregion
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using NServiceBus;
2+
using NServiceBus.MessageMutator;
3+
4+
#region MessageEncryptorExtension
5+
public static class EndpointConfigurationExtensions
6+
{
7+
public static void RegisterMessageEncryptor(this EndpointConfiguration endpointConfiguration)
8+
{
9+
endpointConfiguration.RegisterMessageMutator(new MessageEncryptor());
10+
}
11+
}
12+
#endregion
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System.Linq;
2+
using System.Threading.Tasks;
3+
using NServiceBus.MessageMutator;
4+
5+
#region Mutator
6+
public class MessageEncryptor :
7+
IMutateIncomingTransportMessages,
8+
IMutateOutgoingTransportMessages
9+
{
10+
11+
public Task MutateIncoming(MutateIncomingTransportMessageContext context)
12+
{
13+
context.Body = context.Body.ToArray().Reverse().ToArray();
14+
return Task.CompletedTask;
15+
}
16+
17+
public Task MutateOutgoing(MutateOutgoingTransportMessageContext context)
18+
{
19+
context.OutgoingBody = context.OutgoingBody.ToArray().Reverse().ToArray();
20+
return Task.CompletedTask;
21+
}
22+
}
23+
#endregion
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<TargetFramework>net10.0</TargetFramework>
4+
<LangVersion>preview</LangVersion>
5+
</PropertyGroup>
6+
<ItemGroup>
7+
<PackageReference Include="NServiceBus" Version="10.0.0-alpha.2" />
8+
</ItemGroup>
9+
</Project>

0 commit comments

Comments
 (0)