示例#1
0
            //never return void with async keyword...
            private async Task ExecuteTask()
            {
                StorageFolder InstallationFolder     = Package.Current.InstalledLocation;
                IReadOnlyList <StorageFolder> assets = await InstallationFolder.GetFoldersAsync();

                foreach (StorageFolder assetFolder in assets)
                {
                    if (assetFolder.Name.ToLower().Equals("mpos"))
                    {
                        IReadOnlyList <StorageFolder> assetDepSearch = await assetFolder.GetFoldersAsync();

                        foreach (StorageFolder depFolder in assetDepSearch)
                        {
                            if (depFolder.Name.ToLower().Equals("dep"))
                            {
                                IReadOnlyList <StorageFile> dlls = await depFolder.GetFilesAsync();

                                dependenceFiles = new List <DependenceFile>(dlls.Count);

                                foreach (StorageFile dll in dlls)
                                {
                                    DependenceFile dependence = new DependenceFile();
                                    dependence.name = dll.Name;
                                    using (IRandomAccessStream fileStream = await dll.OpenReadAsync())
                                    {
                                        dependence.length = (int)fileStream.Size;
                                        dependence.data   = new byte[fileStream.Size];
                                        using (DataReader reader = new DataReader(fileStream))
                                        {
                                            await reader.LoadAsync((uint)fileStream.Size);

                                            reader.ReadBytes(dependence.data);
                                        }
                                        dependenceFiles.Add(dependence);
                                    }
                                }

                                goto Exit;
                            }
                        }
                    }
                }

Exit:
                Debug.WriteLine("#> [DeployRpcService]: Loading " + dependenceFiles.Count + " file(s)");
            }
示例#2
0
			//never return void with async keyword...
			private async Task ExecuteTask()
			{
				StorageFolder InstallationFolder = Package.Current.InstalledLocation;
				IReadOnlyList<StorageFolder> assets = await InstallationFolder.GetFoldersAsync();
				foreach (StorageFolder assetFolder in assets)
				{
					if (assetFolder.Name.ToLower().Equals("mpos"))
					{
						IReadOnlyList<StorageFolder> assetDepSearch = await assetFolder.GetFoldersAsync();
						foreach (StorageFolder depFolder in assetDepSearch)
						{
							if (depFolder.Name.ToLower().Equals("dep"))
							{
								IReadOnlyList<StorageFile> dlls = await depFolder.GetFilesAsync();
								dependenceFiles = new List<DependenceFile>(dlls.Count);

								foreach (StorageFile dll in dlls)
								{
									DependenceFile dependence = new DependenceFile();
									dependence.name = dll.Name;
									using (IRandomAccessStream fileStream = await dll.OpenReadAsync())
									{
										dependence.length = (int) fileStream.Size;
										dependence.data = new byte[fileStream.Size];
										using (DataReader reader = new DataReader(fileStream))
										{
											await reader.LoadAsync((uint)fileStream.Size);
											reader.ReadBytes(dependence.data);
										}
										dependenceFiles.Add(dependence);
									}
								}

								goto Exit;
							}
						}
					}
				}

			Exit:
				Debug.WriteLine("#> [DeployRpcService]: Loading " + dependenceFiles.Count + " file(s)");

			}