Ho una domanda architettonica su un progetto a cui sto lavorando.
Attualmente è una semplice applicazione .NET C # che gira su diversi computer client e comunica con un server MySQL centrale per l'archiviazione dei dati. Al momento non esiste un'applicazione o un servizio sul server, solo MySQL.
Vorrei aggiungere il supporto dell'immagine in modo che gli utenti possano aggiungere immagini al database (e visualizzare dopo il fatto), ma dopo aver memorizzato le immagini direttamente in MySQL come BLOB
ho deciso che questo approccio è una cattiva idea, come suggerito in molti post su SO.
L'applicazione non può memorizzare immagini sul filesystem locale perché sarebbero inaccessibili ad altri utenti non sullo stesso host locale.
Stando così le cose, non sono sicuro del modo migliore per implementare il supporto dell'immagine altrimenti:
- Le macchine sono tutte basate su Windows, posso configurare una cartella condivisa, ma poi ho il mal di testa di mantenere un'unità di rete mappata e credenziali / permessi utente.
- Ho pensato di aggiungere un'altra applicazione (o servizio) che gira sul server e gestisce la lettura / scrittura di immagini sul lato server, ma questo sembra ridondante alla luce del fatto che i computer sono già in grado di trasferire i file .
- Dovrei prendere in considerazione la creazione di un'applicazione sul server per gestire tutte le comunicazioni tra i client e il database SQL, aggiungendo la comunicazione del filesystem lì?