RedisServerEvents.Start() - where?

Hi, we are using RedisServerEvents and all works well in production. Locally however, registering the ServerEventsFeature causes IIS to bomb (whether we use Memory or Redis). I know this isn’t enough to reproduce, but can you confirm a couple of bits that will help us:

  • Should we should be calling IServerEvents.Start within the AppHost.Configure() or afterwards.
    Examples suggest it’s fine to live in the Configure Method, but https://stackoverflow.com/a/37394824/1602793 suggests afterwards.

  • Do we need to call Plugins.Add(new ServerEventsFeature()) as well as register RedisServerEvents or just the latter?

Thanks as ever.

The Redis ServerEvents docs show a configuration example taken from the Chat App configuration which supports running both memory and redis server events:

Plugins.Add(new ServerEventsFeature());
//...

container.Register<IRedisClientsManager>(new RedisManagerPool(redisHost));

container.Register<IServerEvents>(c =>
    new RedisServerEvents(c.Resolve<IRedisClientsManager>()));
container.Resolve<IServerEvents>().Start();

i.e. everything is in Configure(), the ServerEventsFeature plugin always needs to be registered and RedisServerEvents is overriding the memory IServerEvents dependency the SSE plugin uses.