Eu tenho um aplicativo (Win 32-bit) que disponibiliza um conjunto de dados em mudança para outras máquinas de rede, escrevendo um arquivo de dados de cerca de 100 kbytes por segundo. Outros PCs lêem o mesmo arquivo uma vez por segundo para acessar e exibir os dados em locais remotos. As colisões são esperadas e ocorrem agora e depois e são tratadas abrindo o arquivo no modo apropriado. Se algum dado escravo não puder abrir o arquivo porque está sendo escrito, não haverá conseqüências resultantes do acesso negado - ele apenas o obterá na próxima vez.
O sistema foi executado sem problemas no WinXP por vários anos, mas acabou de ser instalado em uma rede do Windows 8 e está se comportando mal.
Após um período de tempo - geralmente muitas horas e às vezes dias - o PC "mestre" pára de atualizar o arquivo - cada acesso retorna The process cannot access the file because it is being used by another process
- para que os escravos vejam dados "congelados" a partir de então. No entanto, a situação é permanente e o único curso de ação é sair do aplicativo mestre e reiniciar o computador principal - apenas sair do aplicativo mestre não libera o arquivo.
Alguém tem alguma sugestão sobre o que poderia estar causando isso?
O SysInternals ProcessExplorer ajudaria (usando a função Localizar identificador ")?
Uma nota final: o arquivo de dados usado para disponibilizar as informações é chamado de extensão MSI
. O Windows 8 pode ter introduzido algumas funções "babá" para impedir que os aplicativos façam referência ao que ele acredita serem imagens do instalador MSI? Estou me agarrando a palhas aqui. Naturalmente, pretendo tentar outra coisa como uma extensão, mas o acesso ao sistema é difícil, pois faz parte de um sistema 24-7-365, por isso quero reunir o máximo de conhecimento antes disso.
Tags windows-8 file-sharing