From cacee52e18e5dd336a69157f20ad104367a669f7 Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Sun, 19 Nov 2017 16:06:22 +0100 Subject: [PATCH] Package downgraded. --- .../Log/Internal/ConsoleLogProcessor.cs | 13 +++++++++++- .../Config/Domain/InfrastructureServices.cs | 6 ------ src/Squidex/Config/Orleans/SiloServices.cs | 20 ++++++++++++++++--- src/Squidex/Squidex.csproj | 2 +- src/Squidex/appsettings.json | 9 +++++++++ 5 files changed, 39 insertions(+), 11 deletions(-) diff --git a/src/Squidex.Infrastructure/Log/Internal/ConsoleLogProcessor.cs b/src/Squidex.Infrastructure/Log/Internal/ConsoleLogProcessor.cs index 22a7162b4..4b579bf5e 100644 --- a/src/Squidex.Infrastructure/Log/Internal/ConsoleLogProcessor.cs +++ b/src/Squidex.Infrastructure/Log/Internal/ConsoleLogProcessor.cs @@ -8,6 +8,7 @@ using System; using System.Collections.Concurrent; +using System.Diagnostics; using System.Runtime.InteropServices; using System.Threading.Tasks; @@ -36,7 +37,17 @@ namespace Squidex.Infrastructure.Log.Internal public void EnqueueMessage(LogMessageEntry message) { - messageQueue.Add(message); + try + { + if (!IsDisposed) + { + messageQueue.Add(message); + } + } + catch (ObjectDisposedException) + { + Debug.WriteLine("Console queue disposed."); + } } private void ProcessLogQueue() diff --git a/src/Squidex/Config/Domain/InfrastructureServices.cs b/src/Squidex/Config/Domain/InfrastructureServices.cs index 7062de685..f02e84e5b 100644 --- a/src/Squidex/Config/Domain/InfrastructureServices.cs +++ b/src/Squidex/Config/Domain/InfrastructureServices.cs @@ -98,12 +98,6 @@ namespace Squidex.Config.Domain .As(); services.AddSingletonAs(); - - services.AddSingletonAs(c => new InvalidatingMemoryCache( - new MemoryCache( - c.GetRequiredService>()), - c.GetRequiredService())) - .As(); } } } diff --git a/src/Squidex/Config/Orleans/SiloServices.cs b/src/Squidex/Config/Orleans/SiloServices.cs index bfa043226..c0c148f59 100644 --- a/src/Squidex/Config/Orleans/SiloServices.cs +++ b/src/Squidex/Config/Orleans/SiloServices.cs @@ -7,6 +7,7 @@ // ========================================================================== using System.Linq; +using System.Net; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Orleans; @@ -20,9 +21,6 @@ namespace Squidex.Config.Orleans { public static void AddAppSiloServices(this IServiceCollection services, IConfiguration config) { - var mongoConfiguration = config.GetRequiredValue("store:mongoDb:configuration"); - var mongoDatabaseName = config.GetRequiredValue("store:mongoDb:database"); - var clusterConfiguration = services.Where(x => x.ServiceType == typeof(ClusterConfiguration)) .Select(x => x.ImplementationInstance) @@ -33,12 +31,28 @@ namespace Squidex.Config.Orleans { clusterConfiguration.Globals.RegisterBootstrapProvider("EventConsumers"); clusterConfiguration.Globals.RegisterBootstrapProvider("RuleDequeuer"); + + var ipConfig = config.GetRequiredValue("orleans:hostNameOrIPAddress"); + + if (ipConfig.Equals("FirstOfHost")) + { + var ips = Dns.GetHostAddressesAsync(Dns.GetHostName()).Result; + + ipConfig = ips.FirstOrDefault()?.ToString(); + } + + clusterConfiguration.Defaults.PropagateActivityId = true; + clusterConfiguration.Defaults.ProxyGatewayEndpoint = new IPEndPoint(IPAddress.Any, 10400); + clusterConfiguration.Defaults.HostNameOrIPAddress = ipConfig; } config.ConfigureByOption("store:type", new Options { ["MongoDB"] = () => { + var mongoConfiguration = config.GetRequiredValue("store:mongoDb:configuration"); + var mongoDatabaseName = config.GetRequiredValue("store:mongoDb:database"); + if (clusterConfiguration != null) { clusterConfiguration.AddMongoDBStorageProvider("Default", c => diff --git a/src/Squidex/Squidex.csproj b/src/Squidex/Squidex.csproj index a1e653f3b..4381e4e7a 100644 --- a/src/Squidex/Squidex.csproj +++ b/src/Squidex/Squidex.csproj @@ -63,7 +63,7 @@ - + diff --git a/src/Squidex/appsettings.json b/src/Squidex/appsettings.json index 941f5d20d..c84fc5fc9 100644 --- a/src/Squidex/appsettings.json +++ b/src/Squidex/appsettings.json @@ -64,6 +64,15 @@ "exposeSourceUrl": false }, + "orleans": { + /* + * Define the IP address or host name that is used for inter-silo communication. + * + * Special values: FirstOfHost + */ + "hostNameOrIPAddress": "localhost" + }, + "eventStore": { /* * Define the type of the event store.