none
Conflito no arquivo XML RRS feed

  • Pergunta

  • Olá a todos,

    Gostaria de saber se vocês podem me ajudar !! Estou com o seguinte problema na minha aplicação WEB, desenvolvo em C# e uso também Silverlight.

    Eu tenho um arquivo XML no meu servidor, com alguns atributos (ex. CONEXÃO). Vários clientes simultaneamente irão logar em meu sistema acessando o arquivo XML e fazendo alteração no mesmo.

    Porém, se um cliente quando entrar fazer a alteração, e ao mesmo tempo outro entrar e mudar um outro atributo, o cliente que salvar o arquivo primeiro irá perder a informação alterada pois o segundo cliente irá sobrescrever a alteração do anterior.

    O que pode ser feito neste caso ?

    Obrigado desde já.


    Atenciosamente, Guilherme. Caso esta resposta foi útil, por favor, marque como mesma.

    segunda-feira, 23 de abril de 2012 11:37

Respostas

  • Serrati, bom dia. Pessoalmente, não recomendo esta solução, a menos que seja necessário. Você pode controlar da seguinte maneira: se algum usuário já estiver com o arquivo aberto, voce não deve permitir que outro usuário altere o mesmo até que primeira alteração seja concluída. Você pode controlar isso usando um flag em nível de aplicação (exemplo: Application["ARQUIVO_ABERTO"] = true). No método onde você conclui a alteração do arquivo, você o "flega" sua varíavel Application["ARQUIVO_ABERTO"] = false.

    Atenciosamente,
    Onofre A. Juvencio Junior
    (Se achou útil o post, por favor, marque-o como resposta)

    • Marcado como Resposta Seratti segunda-feira, 23 de abril de 2012 13:17
    segunda-feira, 23 de abril de 2012 12:57

Todas as Respostas

  • Serrati, bom dia. Pessoalmente, não recomendo esta solução, a menos que seja necessário. Você pode controlar da seguinte maneira: se algum usuário já estiver com o arquivo aberto, voce não deve permitir que outro usuário altere o mesmo até que primeira alteração seja concluída. Você pode controlar isso usando um flag em nível de aplicação (exemplo: Application["ARQUIVO_ABERTO"] = true). No método onde você conclui a alteração do arquivo, você o "flega" sua varíavel Application["ARQUIVO_ABERTO"] = false.

    Atenciosamente,
    Onofre A. Juvencio Junior
    (Se achou útil o post, por favor, marque-o como resposta)

    • Marcado como Resposta Seratti segunda-feira, 23 de abril de 2012 13:17
    segunda-feira, 23 de abril de 2012 12:57
  • Ah isso mesmo Onofre, correto a sua resposta, deu para entender como fazer isso !! Valeu !

    Atenciosamente, Guilherme. Caso esta resposta foi útil, por favor, marque como mesma.

    segunda-feira, 23 de abril de 2012 13:17