Skip to content

Commit 5eb6ec9

Browse files
committed
Update blob-storage-databus-cleanup-function sample to NServiceBus 10
- Migrate SenderAndReceiver from .NET 9 to .NET 10 preview - Keep Azure Functions on .NET 9 (Azure Functions doesn't support .NET 10 yet) - Update NServiceBus packages to 10.0.0-alpha.1 versions - Migrate from DataBus to ClaimCheck API (NServiceBus.ClaimCheck 2.0.0-alpha.1) - Replace DataBusProperty<T> with regular byte[] properties - Remove InputLoopService pattern and modernize Program.cs - Update ClaimCheck configuration with SystemJsonClaimCheckSerializer - Add prerelease.txt marker file Fixes: #7288
1 parent 586dd6a commit 5eb6ec9

File tree

7 files changed

+51
-68
lines changed

7 files changed

+51
-68
lines changed

samples/databus/blob-storage-databus-cleanup-function/ABSDataBus_7/DataBusBlobCleanupFunctions/DataBusBlobCleanupFunctions.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
<PropertyGroup>
4-
<TargetFrameworks>net9.0;net8.0</TargetFrameworks>
4+
<TargetFramework>net9.0</TargetFramework>
55
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
66
<LangVersion>12.0</LangVersion>
77
<OutputType>Exe</OutputType>

samples/databus/blob-storage-databus-cleanup-function/ABSDataBus_7/SenderAndReceiver/InputLoopService.cs

Lines changed: 0 additions & 48 deletions
This file was deleted.

samples/databus/blob-storage-databus-cleanup-function/ABSDataBus_7/SenderAndReceiver/MessageWithLargePayload.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
[TimeToBeReceived("00:00:10")]
44
public class MessageWithLargePayload : ICommand
55
{
6-
#pragma warning disable CS0618 // Type or member is obsolete
7-
public DataBusProperty<byte[]> LargePayload { get; set; }
8-
#pragma warning restore CS0618 // Type or member is obsolete
6+
public byte[] LargePayload { get; set; }
97
public string Description { get; set; }
108
}

samples/databus/blob-storage-databus-cleanup-function/ABSDataBus_7/SenderAndReceiver/MessageWithLargePayloadHandler.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@ public class MessageWithLargePayloadHandler(ILogger<MessageWithLargePayloadHandl
77

88
public Task Handle(MessageWithLargePayload message, IMessageHandlerContext context)
99
{
10-
#pragma warning disable CS0618 // Type or member is obsolete
11-
logger.LogInformation("Message received. Description: '{Description}'. Size of payload property: {PayloadSize} Bytes", message.Description, message.LargePayload.Value.Length);
12-
#pragma warning restore CS0618 // Type or member is obsolete
10+
logger.LogInformation("Message received. Description: '{Description}'. Size of payload property: {PayloadSize} Bytes", message.Description, message.LargePayload.Length);
1311
return Task.CompletedTask;
1412
}
1513
}
Lines changed: 42 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,58 @@
11
using System;
22
using System.Threading.Tasks;
3+
using Azure.Storage.Blobs;
34
using Microsoft.Extensions.DependencyInjection;
45
using Microsoft.Extensions.Hosting;
56
using NServiceBus;
6-
using SenderAndReceiver;
77

88
Console.Title = "SenderAndReceiver";
99

1010
var builder = Host.CreateApplicationBuilder(args);
11-
builder.Services.AddHostedService<InputLoopService>();
1211
var endpointConfiguration = new EndpointConfiguration("Samples.AzureDataBusCleanupWithFunctions.SenderAndReceiver");
1312

14-
#pragma warning disable CS0618 // Type or member is obsolete
15-
var dataBus = endpointConfiguration.UseDataBus<AzureDataBus, SystemJsonDataBusSerializer>();
16-
#pragma warning restore CS0618 // Type or member is obsolete
17-
dataBus.ConnectionString("UseDevelopmentStorage=true");
13+
var blobServiceClient = new BlobServiceClient("UseDevelopmentStorage=true");
14+
var claimCheck = endpointConfiguration.UseClaimCheck<AzureClaimCheck, SystemJsonClaimCheckSerializer>()
15+
.Container("testcontainer")
16+
.UseBlobServiceClient(blobServiceClient);
1817

1918
endpointConfiguration.UseSerialization<SystemJsonSerializer>();
20-
endpointConfiguration.UseTransport<LearningTransport>();
19+
endpointConfiguration.UseTransport(new LearningTransport());
2120
endpointConfiguration.EnableInstallers();
2221
builder.UseNServiceBus(endpointConfiguration);
2322

24-
await builder.Build().RunAsync();
23+
var host = builder.Build();
24+
await host.StartAsync();
25+
26+
var messageSession = host.Services.GetRequiredService<IMessageSession>();
27+
28+
Console.WriteLine("Press 'Enter' to send a large message (>4MB)");
29+
while (true)
30+
{
31+
var key = Console.ReadKey();
32+
33+
if (key.Key == ConsoleKey.Enter)
34+
{
35+
await SendMessageLargePayload(messageSession);
36+
}
37+
else
38+
{
39+
break;
40+
}
41+
}
42+
43+
await host.StopAsync();
44+
45+
static async Task SendMessageLargePayload(IMessageSession messageSession)
46+
{
47+
Console.WriteLine("Sending message...");
48+
49+
var message = new MessageWithLargePayload
50+
{
51+
Description = "This message contains a large payload that will be sent on the Azure data bus",
52+
LargePayload = new byte[1024 * 1024 * 5] // 5MB
53+
};
54+
55+
await messageSession.SendLocal(message);
56+
57+
Console.WriteLine("Message sent.");
58+
}
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net9.0;net8.0</TargetFrameworks>
4+
<TargetFramework>net10.0</TargetFramework>
55
<OutputType>Exe</OutputType>
6-
<LangVersion>12.0</LangVersion>
6+
<LangVersion>preview</LangVersion>
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="NServiceBus" Version="9.*" />
11-
<PackageReference Include="NServiceBus.DataBus.AzureBlobStorage" Version="6.0.*" />
12-
<PackageReference Include="NServiceBus.Extensions.Hosting" Version="3.0.1" />
10+
<PackageReference Include="NServiceBus" Version="10.0.0-alpha.1" />
11+
<PackageReference Include="NServiceBus.ClaimCheck" Version="2.0.0-alpha.1" />
12+
<PackageReference Include="NServiceBus.DataBus.AzureBlobStorage" Version="7.0.0-alpha.1" />
13+
<PackageReference Include="NServiceBus.Extensions.Hosting" Version="4.0.0-alpha.1" />
1314
</ItemGroup>
1415

1516
</Project>

samples/databus/blob-storage-databus-cleanup-function/ABSDataBus_7/prerelease.txt

Whitespace-only changes.

0 commit comments

Comments
 (0)