faz C # FileSystemWatcher não pegar um revert Perforce

votos
1

faz C # FileSystemWatcher não pegar um revert Perforce. Ele funciona muito bem quando o mesmo arquivo é modificado. Isso causa um problema porque a reversão altera o arquivo, mas FileSystemWatcher não ser notificado.

Como você assistir a um Perforce reverter?

Obrigado.

Publicado 10/12/2008 em 03:00
fonte usuário
Em outras línguas...                            


4 respostas

votos
3

Além de verificar as NotifyFilters, certifique-se que você está anexando manipuladores de todos os eventos que o FileSystemWatcher tem. FileSystemWatcher tem eventos para Mudou, criados, apagados e renomeados.

Se você está anexando apenas para o evento Changed e não captura eventos, então ele soa como Perforce pode ser excluir e recriar o arquivo. Se este for o caso, adicione manipuladores à excluídos e eventos alterado.

A documentação NotifyFilters no MSDN tem código de exemplo mostrando manipulação para todos os eventos.

Respondeu 10/12/2008 em 08:14
fonte usuário

votos
1

Você definiu o NotifyFilters adequadamente? Desde a ajuda FileSystemWatcher ...

Existem vários tipos de mudanças que você pode observar em um diretório ou arquivo. Por exemplo, você pode observar alterações em atributos, a data LastWrite e tempo, ou o tamanho de arquivos ou diretórios. Isso é feito definindo a propriedade NotifyFilter a um dos valores NotifyFilters.

A revert Perforce também pode reverter para o tempo LastWrite anterior, que, se você está apenas à procura de um mais timestamp recente, não será desencadeada uma atualização.

Respondeu 10/12/2008 em 03:59
fonte usuário

votos
0

Eu suspeito que o relatório Perforce faz uma cópia de um arquivo temporário, por isso não é realmente escrito para o arquivo, mas a cópia em um novo arquivo e explodindo o anterior. Então, já que o arquivo não está sendo "escrito com", você não obter a notificação. Não ajudá-lo embora :(

Respondeu 10/12/2008 em 06:10
fonte usuário

votos
0

Eu tentei um executável amostra de CodeProject, parece funcionar, deve ser o meu código que é mau ...

Respondeu 10/12/2008 em 04:04
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more