public async Task LoadTests() { string fileName = "StorageLoadProviderTests.bin"; MemoryStream memoryStream = new MemoryStream(); memoryStream.Write(new byte[] { 0x01, 0x02, 0x03, 0x04 }, 0, 4); memoryStream.Seek(0, SeekOrigin.Begin); await loadProvider.Load(memoryStream, new LoadContext() { Parameter = fileName }); string writePath = Path.Combine(ConstVariable.ApplicationPath, fileName); Assert.True(File.Exists(writePath)); Assert.Equal(4, File.ReadAllBytes(writePath).Length); File.Delete(writePath); }
public async Task Process(byte[] processMessage, IPlatformExit platformExit) { KernelMessage kernelMessage = JsonConvert.DeserializeObject <KernelMessage>(Encoding.UTF8.GetString(processMessage)); LoadEvent loadEvent = await CoreCache.RestoreAsync <LoadEvent>(PrefixConst.LOAD_META + kernelMessage.JobId); if (loadEvent != null) { var loadProviderNavs = loadEvent.LoadProviders.ToDictionary(x => x.Name, x => x); foreach (var dataProvider in loadEvent.Data) { var loadProviderNav = loadProviderNavs[dataProvider.Provider.Name]; ILoadProvider loadProvider = this.LoadProviderManager.GetLoadProvider(loadProviderNav.Type, loadProviderNav.Name, loadProviderNav.Context.ToString()); try { await dataStorage.ReadAsStream(dataProvider.DataPacket, s => { return(loadProvider.Load(s, new LoadContext() { Parameter = dataProvider.Provider.Parameter, PlatformModel = new PlatformModel() { CoreCache = CoreCache, PlatformExit = platformExit }, LoadEvent = loadEvent })); }); } catch (Exception ex) { logger.Error(ex); } } } else { logger.Warn("Received no-meta id:" + PrefixConst.LOAD_META + kernelMessage.JobId); } }