MCP Academy · Lektion

Dela tillstånd via appkontext

Skicka delade objekt till varje handler.

Lektion 2 av 413 steg

Dela tillstånd via appkontext är en gratis lektion i MCP Academy på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för MCP Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i MCP Academy innehåller totalt 4 lektioner.

Tillstånd som alla hanterare behöver

Dina verktyg behöver ofta samma objekt, till exempel en gemensam databaspool. Du vill skapa dem en gång och dela dem överallt.

Det yieldade värdet är tillståndet

Det som livscykeln yieldar blir ditt gemensamma applikationstillstånd, tillgängligt för alla verktyg, resurser och promptar.

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

Föredra en typad behållare

Om du kapslar in tillståndet i en dataclass får du tydliga fältnamn och autokomplettering i editorn i stället för att behöva gissa dict-nycklar.

@dataclass
class AppContext:
    db: Database

Bygg tillståndet vid uppstart

Skapa varje delat objekt inuti livscykeln och yielda behållaren så att den lever under hela serverns körning.

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

En enda sanningskälla

Delat tillstånd innebär en enda sanningskälla: varje hanterare ser samma anslutning, så att du undviker duplicerade pooler som läcker resurser.

Använd inte globala variabler

Undvik globala variabler på modulnivå för anslutningar. När tillstånd skickas genom kontexten blir verktygen enklare att testa och dolda kopplingar undviks.

Tillståndet gäller servern, inte anropet

Applikationskontexten skapas en gång vid uppstart, inte på nytt för varje förfrågan, så att objekten finns kvar under många verktygsanrop.

Nå det genom förfrågan

Hanterare importerar inte tillståndet direkt. De tar emot ett kontext-objekt vid anropet som exponerar det yieldade värdet.

Blanda anslutningar och konfiguration

Din delade behållare kan innehålla mer än klienter: lagra konfiguration, till exempel API-bas-URL:er eller funktionsflaggor som lästes in vid uppstart.

@dataclass
class AppContext:
    db: Database
    base_url: str

Håll det ungefär oföränderligt

Behandla delat tillstånd som huvudsakligen skrivskyddat. Om många samtidiga anrop ändrar det uppstår lätt subtila fel som är svåra att spåra.

Livscykeln äger livstiden

Eftersom livscykeln skapar tillståndet är det också den som ansvarar för att avveckla det, så att skapande och städning hålls samlade på ett tydligt ställe.

Snabb kontroll

Vad blir det gemensamma applikationstillstånd som dina hanterare kan använda?

Sammanfattning: Dela tillstånd

Du skapar delade objekt en gång i livscykeln, yieldar en typad behållare och låter alla hanterare läsa den. Nästa steg: hur du når den. 🧩

Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Dela tillstånd via appkontext” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen MCP Academy, inklusive ”Dela tillstånd via appkontext”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i MCP Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Dela tillstånd via appkontext”?

Skicka delade objekt till varje handler. Ni övar på MCP Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig MCP Academy?

Du behöver inga förkunskaper. Utbildningen i MCP Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Dela tillstånd via appkontext”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här MCP Academy-lektionen?

Ja. Varje MCP Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Lifespan-hooken för uppstart
  2. Dela tillstånd via appkontext
  3. Åtkomst till kontextobjektet
  4. Ren avstängning och frigöring av resurser
← Tillbaka till MCP Academy