public ValuesController(
     IMemoryCache cache,
     IOptions <PluginsOptions> optionsAccessor)
 {
     this._cache   = cache;
     this._options = optionsAccessor.Value;
 }
Exemple #2
0
        //IRepository<User, long> repository,

        public CertAppServices(
            IDapperRepository <SJMX_ZSBH> sjmxDapperRepository,
            IDapperRepository <ZSH_DATA> zshDapperRepository,
            IMemoryCache cache,
            IOptions <PluginsOptions> optionsAccessor,
            UserManager userManager
            )
        {
            _sjmxDapperRepository = sjmxDapperRepository;
            _zshDapperRepository  = zshDapperRepository;
            _cache       = cache;
            _options     = optionsAccessor.Value;
            _userManager = userManager;
        }
Exemple #3
0
        private static int Plugins(PluginsOptions pluginsOptions)
        {
            var action = pluginsOptions.Action.ToLower();

            if (action == "list")
            {
                using (var collector = new PluginCollector())
                {
                    _logger.Info($"Plugins found: { collector.Plugins.Count }");

                    foreach (var plugin in collector.Plugins)
                    {
                        _logger.Info($"- { plugin.Name } v.{ plugin.Version }: { plugin.Description }");
                    }
                }
            }
            else if (action == "help")
            {
                using (var collector = new PluginCollector())
                {
                    var plugin = collector.Plugins.SingleOrDefault((p) => p.Name.Equals(pluginsOptions.PluginName, StringComparison.InvariantCultureIgnoreCase));
                    if (plugin != null)
                    {
                        plugin.Initialize(_logger.Factory);

                        _logger.Info($"{ plugin.Name } v.{ plugin.Version }");
                        _logger.Info($"by { plugin.Author }");
                        _logger.Info(plugin.Description);
                        _logger.Info(plugin.Help);

                        plugin.Shutdown();
                    }
                }
            }

            return(0);
        }
Exemple #4
0
        public static async Task <BasePluginsService> GetPlugin(IMemoryCache _cache, PluginsOptions _options, string type)
        {
            string cacheKey = $"plugin:{type}";

            if (_cache.TryGetValue(cacheKey, out BasePluginsService service))
            {
                return(service);
            }
            else
            {
                //E:\ABP\Src\MyProjectVue(Abp4.9_Dapper)\4.9.0\aspnet-core\src\MyProjectVue.Web.Host\wwwroot\Plugins\netcoreapp2.2\Plugins.SJCL1000.dll
                var baseDirectory = Directory.GetCurrentDirectory();
                var dll           = $"Plugins.SJCL.{type}.dll";
                var path          = Path.Combine(baseDirectory, _options.PluginsPath, dll);
                try
                {
                    byte[] bytes = await System.IO.File.ReadAllBytesAsync(path);

                    var assembly = Assembly.Load(bytes);
                    //var obj = (BasePluginsService)assembly.CreateInstance($"Plugins.{type}.PluginsService");
                    var obj = (BasePluginsService)assembly.CreateInstance("SMIC.SJCL.PluginsService");
                    if (obj != null)
                    {
                        _cache.Set(cacheKey, obj, DateTimeOffset.Now.AddSeconds(60)); //1分钟
                    }

                    //Debug.WriteLine(bytes.Length);
                    bytes = null;

                    return(obj);
                }
                catch (Exception)
                {
                    return(null);
                }
            }
        }
Exemple #5
0
 private StarsConfiguration UsePluginsOptions(IConfigurationSection configurationSection)
 {
     PluginsOptions = configurationSection.Get <PluginsOptions>();
     return(this);
 }