From d4615d9ef27f92110ef3486bc938e8a40eb82e19 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Thu, 4 Jun 2026 13:52:58 +0200 Subject: [PATCH] =?UTF-8?q?Inizio=20refactor=20IOC=20(repository,=20poi=20?= =?UTF-8?q?sar=C3=A0=20la=20volta=20di=20FusionCache...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MP.IOC/README.md | 10 ++++++++++ MP.IOC/README.pdf | Bin 0 -> 32970 bytes 2 files changed, 10 insertions(+) create mode 100644 MP.IOC/README.md create mode 100644 MP.IOC/README.pdf diff --git a/MP.IOC/README.md b/MP.IOC/README.md new file mode 100644 index 00000000..7167bdc9 --- /dev/null +++ b/MP.IOC/README.md @@ -0,0 +1,10 @@ +# MP.IOC + +MAPO IOC: WebApi rest per la gestione delel chaimate dagli applicativi remoti sul campo (IOB-PI su raspberry pi e IOB-WIN su PC Windows) che si occupano di comunicare con le varie macchine di processo i dati da trasmettere al MES. +E' la nuova implementazioen del modulo IO (il precedente era fatto in dotNet framework 4.7.2) su cui si sta dirigendo lo sviluppo della soluzione MES MAPO + +Integra raccolta di informazioni riguardo ai compiti svolti e uesti sono ottimizzati per l'impiego di cache e ottimizzazioni varie su ogni strato del progetto. + +## Sezioni Principali + +Il metodo principale è una webApi che risponde all'indirizzo api/IOB, è presente una documentazione swagger (in develop) \ No newline at end of file diff --git a/MP.IOC/README.pdf b/MP.IOC/README.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3558be57b73f27e9f7898cd093845bc38a6a5bb4 GIT binary patch literal 32970 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