Neapstrādāts izņēmums: System.AggregateException: radusies viena vai vairākas kļūdas. ---> System.IO.IOException: failu "C:\SyncTemp\Position\Taxi\2017\09\09\Time\0000.dat" izmanto cits process, tāpēc šim failam nevar piekļūt. pie System.IO.__Error.WinIOError(Int32 kļūdas kods, virkne varbūtFullPath) Sadaļā System.IO.FileStream.Init(Virknes ceļš, FileMode režīms, FileAccess piekļuve, Int32 tiesības, Būla useRights, FileShare koplietošana, Int32 bufferSize, FileOptions opcijas SECURITY_ATTRIBUTES secAttrs, String msgPath, Būla bFromProxy, Būla useLongPath, Būla checkHost) Sistēmā System.IO.FileStream: ctor(Virknes ceļš, FileMode režīms, FileAccess piekļuve, FileShare koplietošana) System.IO.File.Open(Virknes ceļš, FileMode režīms, FileAccess piekļuve) ConsoleApp1.FileReadHelper.SingleFile(String path) atrašanās vieta C:\project\my\TestNet\ConsoleApp1\FileReadHelper.cs: rindas numurs 27 In ConsoleApp1.FileReadHelper.<>c__DisplayClass3_0. <MultipleFilesAsync>b__0(Virkne x) Pozīcija C:\project\my\TestNet\ConsoleApp1\FileReadHelper.cs: Rindas numurs 68 Sadaļā System.Threading.Tasks.Parallel.<>c__DisplayClass17_0'1. <ForWorker>b__1() Sadaļā System.Threading.Tasks.Task.InnerInvokeWithArg(Uzdevums childTask) Sadaļā System.Threading.Tasks.Task.<>c__DisplayClass176_0. <ExecuteSelfReplicating>b__0(Objekts) --- Iekšējo izņēmumu steka izsekošanas --- beigas Sadaļā System.Threading.Tasks.Task.ThrowIfExceptional(Būla includeTaskCanceledExceptions) Sadaļā System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 uzExclusive, ParallelOptions parallelOptions, Action'1 body, Action'2 bodyWithState, Func'4 bodyWithLocal, Func'1 localInit, Action'1 localVisbeidzot) In System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable'1 source, ParallelOptions, Action'1 body, Action'2 bodyWithState, Action'3 bodyWithStateAndIndex, Func'4 bodyWithStateAndLocal, Func'5 bodyWithEverything, Func'1 localInit, Action'1 localLastly) pie System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable'1 avots, Action'1 pamatteksts) ConsoleApp1.FileReadHelper.MultipleFilesAsync(IEnumerable'1 ceļš) atrašanās vietā C:\project\my\TestNet\ConsoleApp1\FileReadHelper.cs: rindas numurs 66 Pie ConsoleApp1.Program.Main(String[] argumenti) pozīcijā C:\project\my\TestNet\ConsoleApp1\Program.cs: rindas numurs 73 Lūdzu, nospiediet jebkuru taustiņu, lai turpinātu. . . .
Kļūda ir acīmredzama, tas ir, failam nevar piekļūt, failu nevar lasīt, kas ir izņēmums, kas tiek izmests saskaņā ar daudzpavedienu
Es izlasīju, kā dokuments ir uzrakstīts:
Es iestatīju tikai lasīšanas režīmu, nevis rakstīšanas režīmu, un atklāju, ka vairāku pavedienu laikā joprojām būs kļūda, vai tas nav tikai lasāms?
Ja tas ir tikai lasāms, tai nevajadzētu būt kļūdai
Šķīdums:
Tam vajadzētu lasīt failus tikai lasīšanas režīmā, pārbaudīt to un konstatēt, ka tā nav kļūda, un to pašu failu var lasīt vienlaicīgi vairākos pavedienos
|