Käsitlemata erand: System.AggregateException: On esinenud üks või mitu viga. ---> System.IO.IOException: Faili "C:\SyncTemp\Position\Taxi\2017\09\09\Time\0000.dat" kasutab teine protsess, seega sellele failile ligi ei pääse. aadressil System.IO.__Error.WinIOError(Int32 errorCode, string maybeFullPath) System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 õigused, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions valikud, SECURITY_ATTRIBUTES secAttrs, string msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) System.IO.FileStreamis: ctor(Stringi tee, Failirežiimi režiim, FailiLigipääsu ligipääs, Failijagamise jagamine) System.IO.File.Open (stringitee, FileMode režiim, FileAccess ligipääs) ConsoleApp1.FileReadHelper.SingleFile(String path) asukohas C:\project\my\TestNet\ConsoleApp1\FileReadHelper.cs: rea number 27 In ConsoleApp1.FileReadHelper.<>c__DisplayClass3_0. <MultipleFilesAsync>b__0(String x) Positsioon C:\project\my\TestNet\ConsoleApp1\FileReadHelper.cs: Rea number 68 In System.Threading.Tasks.Parallel.<>c__DisplayClass17_0'1. <ForWorker>b__1() System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) In System.Threading.Tasks.Task.<>c__DisplayClass176_0. <ExecuteSelfReplicating>b__0(Objekt) --- Sisemise erandipinu jälje lõpp --- System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) failis System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 to Exclusive, ParallelOptions parallelOptions, Action'1 body'2 bodyWithState, Func'4 bodyWithLocal, Func'1 localInit, Action'1 localLõpuks) System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable'1 source, ParallelOptions, Action'1 body'1, Action'2 bodyWithState, Action'3 bodyWithStateAndIndex, Func'4 bodyWithStateAndLocal, Func'5 bodyWithEverything, Func'1 localInit, Action'1 localLõpuks) aadressil System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable'1 allikas, Action'1 keha) ConsoleApp1.FileReadHelper.MultipleFilesAsync(IEnumerable'1 tee) asukohas C:\project\my\TestNet\ConsoleApp1\FileReadHelper.cs: rea number 66 ConsoleApp1.Program.Main(String[] args) positsioonil C:\project\my\TestNet\ConsoleApp1\Program.cs: rida number 73 Palun vajuta ükskõik millist klahvi, et jätkata...
Viga on ilmne, see tähendab, et failile ei pääse ligi, faili ei saa lugeda, mis on erand mitmelõimelises kasutamises
Lugesin, kuidas dokument on kirjutatud:
Määrasin ainult lugemisrežiimi, mitte kirjutamisrežiimi, ja avastasin, et mitme lõimelise puhul tuleb ikkagi viga, kas see pole ainult lugemiseks?
Kui see on ainult lugemiseks, ei tohiks see olla viga
Lahus:
See peaks olema failide lugemine ainult lugemise režiimis, testisin ja leidsin, et see ei ole viga ning sama faili saab lugeda samaaegselt mitme lõime all
|