2012-12-09 4 views
8

Sto ottenendo il seguente eccezione quando si tenta di leggere un file di testo utilizzando loclEccezione durante la lettura del testo dal file utilizzando FileIO.ReadTextAsync

var text = await FileIO.ReadTextAsync(file); 

La maniglia con cui questo oplock è stato associato è stato chiuso. L'oplock è ora rotto. (Eccezione da HRESULT: 0x80070323)

Questo avviene in uno dei test di unità regressione, capita anche di volta in volta in app. L'app è XAML + C#

Qualche idea su cosa potrebbe causarlo ?!

+0

Stai leggendo da una condivisione di rete, vero? – usr

+0

No, sto leggendo da un file locale – Vitalij

+0

C'è qualcosa di insolito nel file che stai leggendo? È particolarmente grande? –

risposta

5

Stavo avendo lo stesso problema, che si è verificato in presenza di thread di concurrence. Stavo cercando di accedere allo stesso file in due punti contemporaneamente e non me ne sono reso conto.

Provare a verificare il codice cercando un altro accesso allo stesso file e verificare se si sta chiudendo dopo averlo letto, e non dimenticare di chiamare "attendere" o utilizzare un blocco in ogni lettura di file. Penso che possa risolvere il tuo problema.

+1

Non riesco a verificare che la soluzione funzioni, ma dalla descrizione sembra che sia esattamente quello che stavo facendo nel progetto. – Vitalij

+1

Ho avuto lo stesso errore. Per il suggerimento di questa risposta, ho scoperto che è stato causato da un BitmapDecoder che accede a un file che non è più disponibile. – Hong