I am trying to port a simple memcached client from .NET 4 to .Net Core on AWS Lambda. I am struggling to configure the new EnyimMemcachedCore client because the examples (https://github.com/cnblogs/EnyimMemcachedCore) use appsettings.json to setup the config, but Lambda functions using .net core do not use appsettings.json. I need to be able to setup the server/port/endpoint in the C# code.
Can anyone give me an example using EnyimMemcachedCore that creates the configuration manually?
The standard .net use of Enyim was trivial to fetch by key and return a value:
using Enyim.Caching;
using Enyim.Caching.Configuration;
using Enyim.Caching.Memcached;
...
// setup Enyim memcached client
MemcachedClient myCache;
MemcachedClientConfiguration config;
config = new MemcachedClientConfiguration();
config.AddServer("theIP", thePort);
config.Protocol = MemcachedProtocol.Text;
// instantiate client
myCache = new MemcachedClient(config);
// get the stored item
var result = myCache.Get(key);
How do I do something similar (configure the memcached client in code, not in a config file) with EnyimMemcachedCore?
2
Answers
you can add the nodes individually until the cluster config becomes available for .NET Core (if it hasn’t yet)
I guess this has been fixed as of today, 18 September 2018. I have tried the following appsettings, used the configuration endpoint of memcache which has one node
And the code on the
ConfigureServices
It’s working like charm. I haven’t tried with two nodes yet. Please feel free to correct me if it doesn’t work for more than one node