private async Task RunSenderAsync(CancellationToken cancellationToken) { while (!cancellationToken.IsCancellationRequested) { if (!infosQueue.IsEmpty) { using var client = new RealTimeInformationImportFacadeClient(); client.Endpoint.Address = endpointAddress; infosQueue.TryDequeue(out RealTimeInfoTO currentMessage);; if (currentMessage != default) { var importInfo = new RealTimeInfoTO[1] { currentMessage }; var response = await client.importRealTimeInfoAsync(importInfo); var result = response.importRealTimeInfoResponse1?.ToArray(); if (result?.Any() ?? false) { var relevantValiditation = result.First(); var relevantMessage = currentMessage; if (relevantValiditation.code == 0) { logger.LogDebug( "Ist-Zeit-Nachricht wurde erfolgreich an IVU.rail gesendet " + "(Zug: {trainNumber}, Betriebsstelle: {location}, Decoder: {decoder}).", relevantMessage.tripNumber, relevantMessage.stopArea, relevantMessage.vehicles.FirstOrDefault()?.number); } else { logger.LogError( "Fehlermeldung zur Ist-Zeit-Nachricht von IVU.rail empfangen " + "(Zug: {trainNumber}, Betriebsstelle: {location}, Decoder: {decoder}): {message}.", relevantValiditation.message, relevantMessage.tripNumber, relevantMessage.stopArea, relevantMessage.vehicles.FirstOrDefault()?.number); } } } } } }
public RealTimeInformationImportFacadeClient(EndpointConfiguration endpointConfiguration, System.ServiceModel.EndpointAddress remoteAddress) : base(RealTimeInformationImportFacadeClient.GetBindingForEndpoint(endpointConfiguration), remoteAddress) { this.Endpoint.Name = endpointConfiguration.ToString(); ConfigureEndpoint(this.Endpoint, this.ClientCredentials); }
public RealTimeInformationImportFacadeClient(EndpointConfiguration endpointConfiguration) : base(RealTimeInformationImportFacadeClient.GetBindingForEndpoint(endpointConfiguration), RealTimeInformationImportFacadeClient.GetEndpointAddress(endpointConfiguration)) { this.Endpoint.Name = endpointConfiguration.ToString(); ConfigureEndpoint(this.Endpoint, this.ClientCredentials); }
public RealTimeInformationImportFacadeClient() : base(RealTimeInformationImportFacadeClient.GetDefaultBinding(), RealTimeInformationImportFacadeClient.GetDefaultEndpointAddress()) { this.Endpoint.Name = EndpointConfiguration.RealTimeInformationImportFacadePort.ToString(); ConfigureEndpoint(this.Endpoint, this.ClientCredentials); }
private static System.ServiceModel.EndpointAddress GetDefaultEndpointAddress() { return(RealTimeInformationImportFacadeClient.GetEndpointAddress(EndpointConfiguration.RealTimeInformationImportFacadePort)); }
private static System.ServiceModel.Channels.Binding GetDefaultBinding() { return(RealTimeInformationImportFacadeClient.GetBindingForEndpoint(EndpointConfiguration.RealTimeInformationImportFacadePort)); }