diff --git a/mROA/Implementation/Backend/HubRequestExtractor.cs b/mROA/Implementation/Backend/HubRequestExtractor.cs index 17c4f35..cd08192 100644 --- a/mROA/Implementation/Backend/HubRequestExtractor.cs +++ b/mROA/Implementation/Backend/HubRequestExtractor.cs @@ -6,11 +6,12 @@ namespace mROA.Implementation.Backend; public class HubRequestExtractor : IInjectableModule { private IConnectionHub _hub; - + private IContextRepository? _contextRepository; private IMethodRepository? _methodRepository; private ISerializationToolkit? _serializationToolkit; private IExecuteModule? _executeModule; + public void Inject(T dependency) { switch (dependency) @@ -38,7 +39,10 @@ public class HubRequestExtractor : IInjectableModule { var extractor = new RequestExtractor(); extractor.Inject(interaction); - extractor.Inject(_contextRepository); + if (_contextRepository is IContextRepositoryHub contextHub) + extractor.Inject(contextHub.GetRepository(interaction.Id)); + else + extractor.Inject(interaction); extractor.Inject(_methodRepository); extractor.Inject(_serializationToolkit); extractor.Inject(_executeModule); diff --git a/mROA/Implementation/Backend/MultiClientContextRepository.cs b/mROA/Implementation/Backend/MultiClientContextRepository.cs index b00dbb6..5bcce54 100644 --- a/mROA/Implementation/Backend/MultiClientContextRepository.cs +++ b/mROA/Implementation/Backend/MultiClientContextRepository.cs @@ -51,6 +51,6 @@ public class MultiClientContextRepository(Func produceR public IContextRepository GetRepository(int clientId) { - return _repositories[clientId]; + return GetRepositoryByClientId(clientId); } } \ No newline at end of file diff --git a/mROA/Implementation/Frontend/RequestExtractor.cs b/mROA/Implementation/Frontend/RequestExtractor.cs index 57afbcd..a4fad2d 100644 --- a/mROA/Implementation/Frontend/RequestExtractor.cs +++ b/mROA/Implementation/Frontend/RequestExtractor.cs @@ -50,8 +50,6 @@ public class RequestExtractor : IRequestExtractor await Task.Yield(); var multiClientOwnershipRepository = TransmissionConfig.OwnershipRepository as MultiClientOwnershipRepository; - - multiClientOwnershipRepository?.RegisterOwnership(_representationModule.Id); try