コード例 #1
0
        public static void AddMjmlServices(this IServiceCollection serviceCollection, Action <MjmlServiceOptions> configure)
        {
            var options = new MjmlServiceOptions();

            configure(options);

            serviceCollection.AddNodeJS();
            serviceCollection.AddSingleton(options);
            serviceCollection.AddSingleton <IMjmlServices, MjmlServices>();
        }
コード例 #2
0
        public MjmlServices(INodeJSService nodeServices, MjmlServiceOptions options)
        {
            _nodeServices = nodeServices;
            _options      = options;

            _renderer = GetRenderer();

            if (options.WarmUpRender)
            {
                Warmup().Wait();
            }
        }
コード例 #3
0
        public MjmlServices(INodeServices nodeServices, MjmlServiceOptions options)
        {
            _nodeServices = nodeServices;
            _options      = options;

            // setup renderer script
            var assembly = typeof(MjmlServices).Assembly;

            using (var stream = assembly.GetManifestResourceStream("Mjml.AspNetCore.dist.renderer.js"))
                using (var reader = new StreamReader(stream))
                {
                    var result = reader.ReadToEnd();
                    _renderer = new StringAsTempFile(result, CancellationToken.None);
                }

            // force load the render script
            Warmup().Wait();
        }