Progetta un servizio di Windows con servizi Web di base ASP.NET ospitati autonomamente e listener di porte UPD

1

Sto progettando una piattaforma software nell'automazione che è responsabile di molte attività diverse come:

  • Funzioni principali
  • Interfaccia driver per macchine
  • Listener UDP per i messaggi macchina dal PLC
  • Listener UDP per altri messaggi di componenti software (altra porta)
  • Servizio Web di controllo interno utilizzato da componenti esterni della piattaforma, ad esempio client di amministrazione
  • Altre cose ...

La mia idea è di creare un singolo servizio Windows che sia sviluppato in modo modulare, in modo che ci sia più o meno un modulo per ognuna delle funzioni sopra elencate, in modo che tu possa abilitare / disabilita ciascun modulo in modo indipendente e, allo stesso tempo, è in grado di avviare tutti i moduli con l'avvio del servizio.

Ora i miei dubbi principali sono 2:

  1. È un'architettura valida? O è preferibile separare il moduli in singoli servizi o componenti di qualche tipo? In questo caso, come posso ottenere per avere la gestione totale di tutto il Moduli?
  2. Se l'architettura che pensavo potesse essere buona, come posso implementarla l'avvio e la gestione dei diversi moduli all'interno del Servizio Windows?

Ho già letto diversi articoli che spiegano come sviluppare un servizio Windows con C # e VS 2017 (utilizzando Topshelf per semplificare il debug) che ospita un servizio Web API self-hosted o one .NET Core Web Service. Penso che questo potrebbe essere il modo per me e sono molto attratto dall'idea di utilizzare .NET Core per API, .NET Standard per le librerie di funzioni condivise e Windows Servizio. Ma non so come implementare lo scaffolding per un servizio di Windows che ospita tutti quei diversi componenti .

Articoli:

posta Cheshire Cat 18.07.2018 - 10:08
fonte

0 risposte

Leggi altre domande sui tag