Skip to content
This repository was archived by the owner on Aug 3, 2024. It is now read-only.

Commit b4bce36

Browse files
authored
Move from WindowsAzure.ServiceBus to Azure.Messaging.ServiceBus (#412)
* Move to Azure.Messaging.ServiceBus * Handle the old connection string format * Use managed identity credential * Random message ID * Add Service Bus dependencies to .NET Core targets * Reduce some unnecessary netstandard2.1 Progress NuGet/Engineering#5011
1 parent 7a8fad8 commit b4bce36

33 files changed

Lines changed: 589 additions & 388 deletions

NuGet.Server.Common.sln

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio Version 16
4-
VisualStudioVersion = 16.0.28419.233
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.8.34118.359
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{8415FED7-1BED-4227-8B4F-BB7C24E041CD}"
77
EndProject
@@ -13,6 +13,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
1313
ProjectSection(SolutionItems) = preProject
1414
.editorconfig = .editorconfig
1515
Directory.Build.props = Directory.Build.props
16+
global.json = global.json
1617
EndProjectSection
1718
EndProject
1819
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.Services.Configuration", "src\NuGet.Services.Configuration\NuGet.Services.Configuration.csproj", "{6597FCAE-81FE-44F1-A9C8-69BEA01DB094}"
@@ -93,7 +94,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.Services.Licenses.Tes
9394
EndProject
9495
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.Services.Build.Tests", "tests\NuGet.Services.Build.Tests\NuGet.Services.Build.Tests.csproj", "{AB3C7814-3AD6-41BD-8968-A3CC10A52EC5}"
9596
EndProject
96-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NuGet.Services.Testing.Entities", "src\NuGet.Services.Testing.Entities\NuGet.Services.Testing.Entities.csproj", "{C1D0A112-531C-4ED6-B983-2417335BFB52}"
97+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.Services.Testing.Entities", "src\NuGet.Services.Testing.Entities\NuGet.Services.Testing.Entities.csproj", "{C1D0A112-531C-4ED6-B983-2417335BFB52}"
9798
EndProject
9899
Global
99100
GlobalSection(SolutionConfigurationPlatforms) = preSolution

global.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"sdk": {
3+
"version": "6.0.300",
4+
"rollForward": "latestFeature"
5+
}
6+
}

src/NuGet.Services.Contracts/NuGet.Services.Contracts.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>net472;netstandard2.1</TargetFrameworks>
4+
<TargetFrameworks>net472;netstandard2.0</TargetFrameworks>
55
<Description>Interfaces used for NuGet services</Description>
66
</PropertyGroup>
77

src/NuGet.Services.Contracts/ServiceBus/IBrokeredMessage.cs

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

88
namespace NuGet.Services.ServiceBus
99
{
10-
public interface IBrokeredMessage : IDisposable
10+
public interface IBrokeredMessage
1111
{
12-
int DeliveryCount { get; }
13-
DateTimeOffset ExpiresAtUtc { get; }
1412
TimeSpan TimeToLive { get; set; }
1513
IDictionary<string, object> Properties { get; }
16-
DateTimeOffset EnqueuedTimeUtc { get; }
1714
DateTimeOffset ScheduledEnqueueTimeUtc { get; set; }
1815
string MessageId { get; set; }
19-
Task CompleteAsync();
20-
Task AbandonAsync();
2116
string GetBody();
22-
Stream GetBody<Stream>();
23-
IBrokeredMessage Clone();
17+
TStream GetBody<TStream>();
2418
}
2519
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Copyright (c) .NET Foundation. All rights reserved.
2+
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3+
4+
using System;
5+
using System.Collections.Generic;
6+
using System.Threading.Tasks;
7+
8+
namespace NuGet.Services.ServiceBus
9+
{
10+
public interface IReceivedBrokeredMessage
11+
{
12+
int DeliveryCount { get; }
13+
DateTimeOffset ExpiresAtUtc { get; }
14+
TimeSpan TimeToLive { get; }
15+
IReadOnlyDictionary<string, object> Properties { get; }
16+
DateTimeOffset EnqueuedTimeUtc { get; }
17+
DateTimeOffset ScheduledEnqueueTimeUtc { get; }
18+
string MessageId { get; }
19+
Task CompleteAsync();
20+
Task AbandonAsync();
21+
string GetBody();
22+
TStream GetBody<TStream>();
23+
}
24+
}

src/NuGet.Services.Contracts/ServiceBus/ISubscriptionClient.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ namespace NuGet.Services.ServiceBus
88
{
99
public interface ISubscriptionClient
1010
{
11-
void OnMessageAsync(Func<IBrokeredMessage, Task> onMessageAsync);
11+
Task StartProcessingAsync(Func<IReceivedBrokeredMessage, Task> onMessageAsync);
1212

13-
void OnMessageAsync(Func<IBrokeredMessage, Task> onMessageAsync, IOnMessageOptions options);
13+
Task StartProcessingAsync(Func<IReceivedBrokeredMessage, Task> onMessageAsync, IOnMessageOptions options);
1414

1515
Task CloseAsync();
1616
}

src/NuGet.Services.Contracts/ServiceBus/ITopicClient.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,6 @@ public interface ITopicClient
99
{
1010
Task SendAsync(IBrokeredMessage message);
1111

12-
void Send(IBrokeredMessage message);
13-
1412
Task CloseAsync();
15-
16-
void Close();
1713
}
1814
}

src/NuGet.Services.Messaging.Email/NuGet.Services.Messaging.Email.csproj

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

33
<PropertyGroup>
4-
<TargetFrameworks>net472;netstandard2.1</TargetFrameworks>
4+
<TargetFrameworks>net472;netstandard2.0</TargetFrameworks>
55
<Description>Components shared between the front-end and back-end concerning email messaging</Description>
66
</PropertyGroup>
77

8-
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.1'">
8+
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
99
<Compile Remove=".\CoreMarkdownMessageService.cs" />
1010
</ItemGroup>
1111

@@ -25,7 +25,7 @@
2525
<ProjectReference Include="..\NuGet.Services.Messaging\NuGet.Services.Messaging.csproj" />
2626
</ItemGroup>
2727

28-
<ItemGroup>
28+
<ItemGroup Condition="'$(TargetFramework)' == 'net472'">
2929
<Reference Include="System.Web" />
3030
</ItemGroup>
3131

src/NuGet.Services.Messaging/IServiceBusMessageSerializer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace NuGet.Services.Messaging
77
{
88
public interface IServiceBusMessageSerializer
99
{
10-
EmailMessageData DeserializeEmailMessageData(IBrokeredMessage message);
10+
EmailMessageData DeserializeEmailMessageData(IReceivedBrokeredMessage message);
1111
IBrokeredMessage SerializeEmailMessageData(EmailMessageData message);
1212
}
1313
}

src/NuGet.Services.Messaging/NuGet.Services.Messaging.csproj

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

33
<PropertyGroup>
4-
<TargetFrameworks>net472;netstandard2.1</TargetFrameworks>
4+
<TargetFrameworks>net472;netstandard2.0</TargetFrameworks>
55
<Description>Logic shared between the front-end and back-end concerning asynchronous messaging</Description>
66
</PropertyGroup>
7-
8-
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.1'">
9-
<Compile Remove=".\ServiceBusMessageSerializer.cs" />
10-
</ItemGroup>
117

12-
<ItemGroup Condition="'$(TargetFramework)' == 'net472'">
8+
<ItemGroup>
139
<PackageReference Include="Microsoft.Extensions.Logging">
1410
<Version>2.2.0</Version>
1511
</PackageReference>
1612
</ItemGroup>
1713

18-
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.1'">
19-
<PackageReference Include="Microsoft.Extensions.Logging">
20-
<Version>7.0.0-preview.5.22301.12</Version>
21-
</PackageReference>
22-
</ItemGroup>
23-
2414
<ItemGroup>
2515
<ProjectReference Include="..\NuGet.Services.Contracts\NuGet.Services.Contracts.csproj" />
26-
</ItemGroup>
27-
28-
<ItemGroup Condition="'$(TargetFramework)' == 'net472'">
2916
<ProjectReference Include="..\NuGet.Services.ServiceBus\NuGet.Services.ServiceBus.csproj" />
3017
</ItemGroup>
3118

0 commit comments

Comments
 (0)