none
Lettura e scritta di un file xml su server RRS feed

  • Domanda

  • Ciao a tutti,

    ho un problema.Sto facendo un programma di fatturazione e volevo gestire i dati in un database xml, ma volevo far si che da qualsiasi computer ho il database aggiornato.

    Ho pensato di mettere il file xml sul server (tipo: http://www.ilmiosito.it/fatturazione/database.xml ), lo scarico e lo modifico in locale. Ora come posso fare l'upload sul server per aggiornarlo? Cioè, volevo fare in modo di riscrivere il file database.xml sul server con quello che ho modificato localmente per aggiornarlo.

     

    Ciao e grazie :)

    sabato 30 luglio 2011 11:29

Tutte le risposte

  • Secondo me il tuo problema più grande non è lo scrivere il file sul server (che comunque puoi fare attivando l'ftp ed utilizzandolo da codice) ma gestire la concorrenza di più utenti.
    Se i tuoi dati sono nell'xml, il client uno scaricherà il file e lo leggerà, subito dopo il client 2 scaricherà il file e anche lui lo leggerà.
    Ora il client1 esegue una modifica (o un inserimento tanto il problema che l'hai uguale), quindi, in linea teorica potrebbe aggiornare l'xml sostituendo quello che aveva letto con il nuovo. Se il client2 fa una modifica (o un inserimento), cosa fa? Aggiorna l'xml, ma così facendo è costretto a rileggerlo, confrontarlo con quello che ha in memoria, eseguire una sorta di merge e, gestirsi anche tutte le eventuali incongruenze. Solo alla fine di tutto ciò può salvare il file (sperando che nel frattempo nessuno lo abbia ulteriormente modificato).

    Perchè non utilizzi una banca dati tipo Sql Server?

    sabato 30 luglio 2011 12:39
    Moderatore
  • Beh, è un programma di fatturazione che uso a scopo personale, e lo uso io e la segretaria quindi è molto improbabile che lo usiamo nello stesso momento.

    C'è da dire che le mie abilità in VB.net sono ancora bassine (sto imparando leggendo il libro "Visual Basic 2010 e .NET 4. Guida professionale").

     

    sabato 30 luglio 2011 15:09
  • Intanto l'improbabile, nel mondo dell'informatica, non esiste e diventa quasi sempre probabile, poi se proprio vuoi utilizzare un'architettura del genere puoi utilizzare la classe FtpWebRequest per inviare il file con una operazione ftp al server.
    Maggiori info puoi trovarle http://msdn.microsoft.com/it-it/library/system.net.ftpwebrequest(v=VS.100).aspx
    Questo presuppone che la macchina in cui devi depositare il file abbia IIS configurato opportunamente per avere un FTP aperto sulla cartella che tu vuoi utilizzare.
    Personalmente faccio meno fatica ad installare SQL Server Express Edition (gratuito e scaricabile da http://www.microsoft.com/sqlserver/en/us/editions/express.aspx) che non a configurare IIS :-)

    sabato 30 luglio 2011 15:53
    Moderatore
  • Oppure EntityFramework e SQLCe, nessuna installazione e portabile via XCopy deployment :).

    Per un esempio di EF: http://sample.codeplex.com/SourceControl/changeset/view/60957#1222353

    Si devono scaricare tutte le solution dal tab "Source Code" - Download.
    Matteo Migliore

    Blog http://blogs.ugidotnet.org/matteomigliore
    Twitter http://twitter.com/matteomigliore
    CodePlex http://hyperionsdk.codeplex.com
    domenica 31 luglio 2011 08:51
  • Ciao Valerio,

    Riesci a darci qualche riscontro su quanto proposto? Ti è servito utile come punto di partenza per il tuo scenario?

     

    Grazie in anticipo,

    Irina


    Questo contenuto è distribuito “as is” e non implica alcuna responsabilità da parte di Microsoft. L'azienda offre questo servizio gratuitamente, allo scopo di aiutare gli utenti e farli aumentare la conoscenza sui prodotti e le tecnologie Microsoft.

    LinkedIn

    mercoledì 10 agosto 2011 07:47