using System; using Abp.Dependency; using WeEngine.Module.Runner; using WeEngine.Packages; namespace WeEngine.Functions { public class RunTimeBase: ITransientDependency { protected PackageInfo Rp { get; set; } protected PackageRunnerModuleContext RunnerModule { get; set; } public PackageInfo GetPackage(string runId) { Rp = PackageCache.Instance.GetCache(runId); CheckPackage(); return Rp; } public void SetPackage(PackageInfo runPackageInfo=null) { runPackageInfo = runPackageInfo ?? Rp; PackageCache.Instance.AddCache(runPackageInfo.Id + "", runPackageInfo); } protected virtual bool CheckPackage() { if (Rp == null) { throw new Exception("未查询到运行态方案包"); } RunnerModule = Rp.RunnerModule; return true; } } }