MCP Academy · Lezione

Condividere lo stato tramite il contesto dell'app

Passi oggetti condivisi a ogni handler.

Lezione 2 di 413 passaggi

Condividere lo stato tramite il contesto dell'app è una lezione MCP Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento MCP Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso MCP Academy include 4 lezioni in totale.

Lo stato necessario a ogni gestore

I suoi strumenti hanno spesso bisogno degli stessi oggetti, ad esempio un unico pool di connessioni al database. L'obiettivo è crearli una volta e condividerli ovunque.

Il valore restituito è lo stato

Qualunque valore il lifespan restituisca con yield diventa lo stato condiviso dell'applicazione, disponibile a ogni strumento, risorsa e prompt.

async def lifespan(server):
    yield {"db": db, "cache": cache}

Preferisca un contenitore tipizzato

Racchiudere lo stato in un dataclass offre nomi di campo chiari e il completamento automatico dell'editor, invece di dover indovinare le chiavi di un dizionario.

@dataclass
class AppContext:
    db: Database

Costruisca lo stato all'avvio

All'interno del lifespan, costruisca ogni oggetto condiviso e restituisca il contenitore con yield, in modo che resti disponibile per l'intera esecuzione del server.

async def lifespan(server):
    db = await Database.connect()
    yield AppContext(db=db)

Un'unica fonte autorevole

Lo stato condiviso significa avere un'unica fonte autorevole: ogni gestore vede la stessa connessione, evitando pool duplicati e soggetti a perdite.

Non usi variabili globali

Eviti le variabili globali a livello di modulo per le connessioni. Passare lo stato tramite il contesto mantiene gli strumenti testabili ed evita accoppiamenti nascosti.

Lo stato appartiene al server, non alla chiamata

Il contesto dell'applicazione viene creato una sola volta all'avvio, non ricostruito per ogni richiesta, quindi i suoi oggetti persistono tra molte chiamate agli strumenti.

Vi acceda tramite la richiesta

I gestori non importano direttamente lo stato. Ricevono un oggetto context al momento della chiamata, che espone il valore restituito con yield.

Combini connessioni e configurazione

Il contenitore condiviso può contenere più dei soli client: vi memorizzi la configurazione, come gli URL di base delle API o i feature flag caricati all'avvio.

@dataclass
class AppContext:
    db: Database
    base_url: str

Lo mantenga quasi immutabile

Tratti lo stato condiviso come principalmente di sola lettura. Modificarlo durante molte chiamate concorrenti può causare bug sottili e difficili da individuare.

Il lifespan gestisce il ciclo di vita

Poiché il lifespan crea lo stato, ne gestisce anche la dismissione; creazione e pulizia restano così riunite in un unico punto ordinato.

Verifica rapida

Che cosa diventa lo stato condiviso dell'applicazione utilizzabile dai gestori?

Riepilogo: condivisione dello stato

Costruisce gli oggetti condivisi una volta sola nel lifespan, restituisce un contenitore tipizzato con yield e consente a ogni gestore di leggerlo. Prossimo argomento: come accedervi. 🧩

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Condividere lo stato tramite il contesto dell'app» è gratuita?

Sì — il testo completo di «Condividere lo stato tramite il contesto dell'app» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso MCP Academy, passa a CoddyKit PRO. Il corso MCP Academy include 4 lezioni in totale.

Cosa imparerò in «Condividere lo stato tramite il contesto dell'app»?

Passi oggetti condivisi a ogni handler. Eserciti MCP Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare MCP Academy?

Non è richiesta alcuna esperienza precedente. MCP Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Condividere lo stato tramite il contesto dell'app»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione MCP Academy?

Sì. Ogni lezione MCP Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. L'hook di avvio del ciclo di vita
  2. Condividere lo stato tramite il contesto dell'app
  3. Accedere all'oggetto contesto
  4. Arresto ordinato e rilascio delle risorse
← Torna a MCP Academy