La nostra applicazione è composta da una webapp principale e da una manciata di servizi Windows che eseguono una varietà di lavori che alimentano, igienizzano e ottimizzano tale webapp.
Per facilitare il compito di mantenere questi servizi vorrei unificarli in una singola applicazione e mentre ho diversi anni di pratica nello sviluppo di C #, ho poca esperienza nello sviluppo di applicazioni Windows (in C # principalmente sviluppo per il web utilizzando ASP NET MVC).
Mi piacerebbe ricevere suggerimenti sull'architettura / sulle tecnologie / pratiche che dovrei usare per sviluppare tale applicazione.
- L'idea di base è sviluppare un'applicazione per windows basata su plugin funge da frontend per gestire diversi plugin (ogni attuale servizio Windows diventerebbe un plugin).
- Ci sarà tre diversi tipi di plugin: alcuni saranno chiamati da tempo a tempo, altri in momenti particolari e altri quando alcuni file / cartelle sono modificato.
- I plug-in dovrebbero avere un modo per registrare i messaggi sull'applicazione principale.
Posso usare Windows Form o WPF per raggiungere questo obiettivo. Penso che le forme di Windows siano più facili da afferrare e sviluppare. Non ha bisogno di essere elegante, solo funzionale.
Per chiarire ulteriormente, non sto chiedendo codice o tutorial ma linee guida per ottenere ciò di cui ho bisogno. Principalmente il plugin (è MEF una buona opzione o è eccessivo?) E sistemi di messaggistica.