Visualizzazione dei risultati da 1 a 10 su 12

Discussione: [C#] Confronto path

Hybrid View

  1. #1
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Quote Originariamente inviata da Dascos Visualizza il messaggio
    Su linux esiste "stat" che ti fornisce anche l'Inode.

    Credo che qualcosa di simile esista anche in C#, tra le funzioni di controllo del filesystem. In pratica ti fornisce il numero di Inode della partizione (che non varia se viene montata sul pc 1 o sul pc 2...)
    Qua non si parla di partizione, ma di share di rete.
    Non penso si possa fare quello che dici, se non facendo delle prove di scrittura e verificando se il file è presente su altre cartelle.

  2. #2
    Quote Originariamente inviata da URANIO Visualizza il messaggio
    Qua non si parla di partizione, ma di share di rete.
    Non penso si possa fare quello che dici, se non facendo delle prove di scrittura e verificando se il file è presente su altre cartelle.
    Tranquillo, si può fare.
    L'ho anche scritto, "non varia se lo monti su pc1, pc2 o pc543764".
    Fai una prova :-D

  3. #3
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Quote Originariamente inviata da Dascos Visualizza il messaggio
    Tranquillo, si può fare.
    L'ho anche scritto, "non varia se lo monti su pc1, pc2 o pc543764".
    Fai una prova :-D
    No, non hai capito quello che intendo.
    Io posso avere C:\temp e fare due share che puntano alla stessa cartella.
    Lui da remoto vuole capire se le due share puntano alla stessa cartella.

  4. #4
    Quote Originariamente inviata da URANIO Visualizza il messaggio
    No, non hai capito quello che intendo.
    Io posso avere C:\temp e fare due share che puntano alla stessa cartella.
    Lui da remoto vuole capire se le due share puntano alla stessa cartella.
    Eh...in linux il comando stat ti da quelle info. Nello specifico ti fornisce l'Inode, che è identico ovunque tu monti lo share e con qualsiasi nome tu lo monti...
    server condivide la cartella /var/log/apache con nome x.x.x.x:/apache
    pc1 monta su /home/server/apache
    pc2 monta su /home/produzione/logapache

    Se fai lo stat su pc1 ottieni un certo inode (es: 105673423)
    Se lo fai su pc2 ottieni comunque 105673423
    Ovviamente se il check lo devi fare SUL server, cioè capire CHI ha montato "/apache", è un altro discorso più complesso perchè al massimo puoi sapere chi l'ha montato ma non dove.

    Comunque, tornando al problema....da come hai specificato non è chiaro perchè devi verificare se due cartelle montate su percorsi diversi sul client sono la stessa cartella sul server...

    Lasciando perdere come è la logica per pulire/archiviare, tu cosa vuoi fare dove?

    Da dove parte il controllo, dal server principale che verifica sugli altri server^
    Chi ha le cartelle montate?

    Sei in questa situazione?
    Server1 ha una serie di mountpoint locali che arrivano da server2, server3 ecc?
    Server1 fa girare il programma che interroga server2, server3, server4 ecc?

    In pratica, quale server deve fare i controlli e quale server ha montato i percorsi di rete?

    Secondo me, da quel poco che ho capito della tua descrizione parziale, ti stai ponendo un problema inutile...
    Prova a spiegare bene chi fa cosa, partendo appunto da "chi" ha i mount point collegati e da "chi" invece li condivide, da chi fa girare il programmino di pulizia ecc

  5. #5
    Nel frattempo abbiamo avuto conferma direttamente da uno sviluppatore Microsoft Italia il quale, dopo aver effettuato ricerche al suo interno, ha confermato che il framework .net non offre strumenti che possano risolvere questo problema tramite un'unica applicazione. Occorre perforza intervenire anche sui server che si vuole interrogare.
    @Dascos, provo a riassumere la situazione in maniera diversa perche' mi incuriosisce comunque la tua idea.


    - Io non ho alcun controllo su quello che fa l'utente, ne posso indicare linee guida sulla condivisione delle cartelle sui vari server.
    - In una lan ci sono N server.
    - L'applicazione gira con i diritti da amministratore sul server ServerA.
    - L'applicazoine deve effettuare ricerche sul Server1, sul Server2, sul ServerN, sul PcUtente Pc999.
    - Tutti i path da monitorare sono visibili da ServerA.
    - Server2 ha un path condiviso che va monitorato, "\\Server2\e$\Root1", raggiungibile con utente Admin.
    - Un utente in un qualsiasi momento crea la seguente cartella direttamente sul Server2: "\\Server2\e$\Root1\Cliente\XXX". Deve rendere visibile la cartella XXX ad un utente esterno, quindi per motivi di sicurezza la condivide con nome "CartellaCondivisa", raggiungibile tramite "\\Server2\CartellaCondivisa" con l'utente "Guest123".
    - L'utente Guest123 (oppure l'utente Admin) crea la cartella "\\Server2\e$\Root1\Cliente\XXX\YYY".


    Quindi "\\Server2\CartellaCondivisa" e "\\Server2\e$\Root1\Cliente\XXX" sono in realt� la stessa cartella e in entrambi i casi sono sottocartelle di "\\Server2\e$\Root1".
    Allo stesso modo, "\\Server2\CartellaCondivisa\YYY" e "\\Server2\e$\Root1\Cliente\XXX\YYY" sono la stessa cosa e in entrambi i casi sono sottocartelle di "\\Server2\e$\Root1".


    Su tutte le sottocartelle di "\\Server2\e$\Root1" devo essere in grado di compiere delle azioni, tranne che nelle sottocartelle di "\\Server2\CartellaCondivisa", nelle quali devo compiere azioni diverse.
    Ma come faccio a capire che "\\Server2\CartellaCondivisa" e' una sottocartella di "\\Server2\e$\Root1"?
    Se non lo capisco, in "\\Server2\e$\Root1\Cliente\XXX" compio le stesse azioni di "\\Server2\e$\Root1" essendo XXX una sua sottocartella.

  6. #6
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Quote Originariamente inviata da Dascos Visualizza il messaggio
    Eh...in linux il comando stat ti da quelle info. Nello specifico ti fornisce l'Inode, che è identico ovunque tu monti lo share e con qualsiasi nome tu lo monti...
    Appunto, lanci un comando su un server, ma se non sei su quel server come fai ad eseguire il comando?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.