Skip to content

Commit 9ca59ca

Browse files
authored
file-share-databus sample improvements back port (#7561)
1 parent 6b175e1 commit 9ca59ca

File tree

16 files changed

+173
-289
lines changed

16 files changed

+173
-289
lines changed

samples/databus/file-share-databus/Core_8/Receiver/Program.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using NServiceBus;
2+
using Shared;
23
using System;
34
using System.Threading.Tasks;
45

@@ -9,7 +10,8 @@ static async Task Main()
910
Console.Title = "Receiver";
1011
var endpointConfiguration = new EndpointConfiguration("Samples.DataBus.Receiver");
1112
var dataBus = endpointConfiguration.UseDataBus<FileShareDataBus, SystemJsonDataBusSerializer>();
12-
dataBus.BasePath(@"..\..\..\..\storage");
13+
var storagePath = new SolutionDirectoryFinder().GetDirectory("storage");
14+
dataBus.BasePath(storagePath);
1315
endpointConfiguration.UsePersistence<LearningPersistence>();
1416
endpointConfiguration.UseSerialization<XmlSerializer>();
1517
endpointConfiguration.UseTransport(new LearningTransport());

samples/databus/file-share-databus/Core_8/Sender/Program.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
using NServiceBus;
2+
using Shared;
23
using System;
34
using System.Threading.Tasks;
45

56
class Program
67
{
8+
static string storagePath = new SolutionDirectoryFinder().GetDirectory("storage");
9+
710
static async Task Main()
811
{
912
Console.Title = "Sender";
@@ -12,7 +15,7 @@ static async Task Main()
1215
#region ConfigureDataBus
1316

1417
var dataBus = endpointConfiguration.UseDataBus<FileShareDataBus, SystemJsonDataBusSerializer>();
15-
dataBus.BasePath(@"..\..\..\..\storage");
18+
dataBus.BasePath(storagePath);
1619

1720
#endregion
1821

@@ -59,7 +62,7 @@ static async Task SendMessageLargePayload(IEndpointInstance endpointInstance)
5962

6063
#endregion
6164

62-
Console.WriteLine(@"Message sent, the payload is stored in: ..\..\..\storage");
65+
Console.WriteLine($"Message sent, the payload is stored in: {storagePath}");
6366
}
6467

6568
static async Task SendMessageTooLargePayload(IEndpointInstance endpointInstance)
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
using System;
2+
using System.IO;
3+
using System.Linq;
4+
5+
namespace Shared
6+
{
7+
public class SolutionDirectoryFinder
8+
{
9+
public string Root { get; }
10+
11+
public SolutionDirectoryFinder(string root) => Root = root;
12+
13+
public SolutionDirectoryFinder()
14+
{
15+
var directory = AppContext.BaseDirectory;
16+
17+
while (true)
18+
{
19+
if (Directory.EnumerateFiles(directory).Any(file => file.EndsWith(".sln")))
20+
{
21+
Root = directory;
22+
return;
23+
}
24+
25+
var parent = Directory.GetParent(directory) ?? throw new Exception(
26+
"Couldn't find the solution directory for the ClaimCheck storage. " +
27+
"If the endpoint is outside the solution folder structure, " +
28+
"make sure to specify a storage directory using an absolute path.");
29+
30+
directory = parent.FullName;
31+
}
32+
}
33+
34+
public string GetDirectory(string relativePath)
35+
{
36+
var fullPath = Path.GetFullPath(Path.Combine(Root, relativePath));
37+
Directory.CreateDirectory(fullPath);
38+
return fullPath;
39+
}
40+
}
41+
}

samples/databus/file-share-databus/Core_9/DataBus.sln

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

samples/databus/file-share-databus/Core_9/Receiver/MessageWithLargePayloadHandler.cs

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

samples/databus/file-share-databus/Core_9/Receiver/Program.cs

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

samples/databus/file-share-databus/Core_9/Receiver/Receiver.csproj

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

samples/databus/file-share-databus/Core_9/Sender/Program.cs

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

samples/databus/file-share-databus/Core_9/Sender/Sender.csproj

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

samples/databus/file-share-databus/Core_9/Shared/AnotherMessageWithLargePayload.cs

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

0 commit comments

Comments
 (0)