diff --git a/Masa.BuildingBlocks.sln b/Masa.BuildingBlocks.sln
index 3e01608..9c91b28 100644
--- a/Masa.BuildingBlocks.sln
+++ b/Masa.BuildingBlocks.sln
@@ -79,6 +79,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Masa.BuildingBlocks.Data", "src\Data\Masa.BuildingBlocks.Data\Masa.BuildingBlocks.Data.csproj", "{4B9BF713-E0BC-4CAB-9D8D-353C18EDC855}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Masa.BuildingBlocks.Service.Contracts", "src\Service\Masa.BuildingBlocks.Service.Contracts\Masa.BuildingBlocks.Service.Contracts.csproj", "{775797E2-8576-4050-8649-18AAD00D0A87}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -157,6 +159,10 @@ Global
{4B9BF713-E0BC-4CAB-9D8D-353C18EDC855}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4B9BF713-E0BC-4CAB-9D8D-353C18EDC855}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4B9BF713-E0BC-4CAB-9D8D-353C18EDC855}.Release|Any CPU.Build.0 = Release|Any CPU
+ {775797E2-8576-4050-8649-18AAD00D0A87}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {775797E2-8576-4050-8649-18AAD00D0A87}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {775797E2-8576-4050-8649-18AAD00D0A87}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {775797E2-8576-4050-8649-18AAD00D0A87}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -193,6 +199,7 @@ Global
{F8681808-45F3-4C2D-8A37-D24C0A3414A5} = {6ED365E6-4A1A-499F-85FB-F22E865CA4BA}
{EA5B1CAD-2275-43F3-9A50-7CE1FD94ACDB} = {64FB8703-E922-45DE-9D01-3FE9EFE56727}
{4B9BF713-E0BC-4CAB-9D8D-353C18EDC855} = {64FB8703-E922-45DE-9D01-3FE9EFE56727}
+ {775797E2-8576-4050-8649-18AAD00D0A87} = {593A3114-D1E0-47ED-BC37-58E08886175B}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {40383055-CC50-4600-AD9A-53C14F620D03}
diff --git a/src/Service/Masa.BuildingBlocks.Service.Contracts/BaseMessage.cs b/src/Service/Masa.BuildingBlocks.Service.Contracts/BaseMessage.cs
new file mode 100644
index 0000000..f940796
--- /dev/null
+++ b/src/Service/Masa.BuildingBlocks.Service.Contracts/BaseMessage.cs
@@ -0,0 +1,14 @@
+// Copyright (c) MASA Stack All rights reserved.
+// Licensed under the MIT License. See LICENSE.txt in the project root for license information.
+
+namespace Masa.BuildingBlocks.Service.Contracts;
+
+public class BaseMessage
+{
+ ///
+ /// Unique Identifier
+ ///
+ protected Guid _correlationId = Guid.NewGuid();
+
+ public Guid CorrelationId() => _correlationId;
+}
diff --git a/src/Service/Masa.BuildingBlocks.Service.Contracts/BaseRequest.cs b/src/Service/Masa.BuildingBlocks.Service.Contracts/BaseRequest.cs
new file mode 100644
index 0000000..d13057f
--- /dev/null
+++ b/src/Service/Masa.BuildingBlocks.Service.Contracts/BaseRequest.cs
@@ -0,0 +1,8 @@
+// Copyright (c) MASA Stack All rights reserved.
+// Licensed under the MIT License. See LICENSE.txt in the project root for license information.
+
+namespace Masa.BuildingBlocks.Service.Contracts;
+
+public abstract class BaseRequest : BaseMessage
+{
+}
diff --git a/src/Service/Masa.BuildingBlocks.Service.Contracts/BaseResponse.cs b/src/Service/Masa.BuildingBlocks.Service.Contracts/BaseResponse.cs
new file mode 100644
index 0000000..0998ff2
--- /dev/null
+++ b/src/Service/Masa.BuildingBlocks.Service.Contracts/BaseResponse.cs
@@ -0,0 +1,16 @@
+// Copyright (c) MASA Stack All rights reserved.
+// Licensed under the MIT License. See LICENSE.txt in the project root for license information.
+
+namespace Masa.BuildingBlocks.Service.Contracts;
+
+public abstract class BaseResponse : BaseMessage
+{
+ public BaseResponse(Guid correlationId) : base()
+ {
+ base._correlationId = correlationId;
+ }
+
+ public BaseResponse()
+ {
+ }
+}
diff --git a/src/Service/Masa.BuildingBlocks.Service.Contracts/Masa.BuildingBlocks.Service.Contracts.csproj b/src/Service/Masa.BuildingBlocks.Service.Contracts/Masa.BuildingBlocks.Service.Contracts.csproj
new file mode 100644
index 0000000..132c02c
--- /dev/null
+++ b/src/Service/Masa.BuildingBlocks.Service.Contracts/Masa.BuildingBlocks.Service.Contracts.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+