modelcontextprotocol / modelcontextprotocol/csharp-sdk

AddSingleton does not work as expected

Aperta
#1,111 8 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

enhancement needs confirmation P3
Lingua principale
C#
Stelle
4.5k
Fork
814
Merge medio
9g 19h
PR unite (30g)
4

Descrizione

Describe the bug
When we register tool like AddSingleton(type, instance) and pass a singleton instance, it seems that the instance is being ignored and the library creates a new instance when it needs it.
I tried also AddSingleton using a factory method like this:
services.AddSingleton(toolType, provider => Activator.CreateInstance(toolType, this.m_compositionService));
A breakpoint to Activator.CreateInstance was never hit and the tool just created the instance of the tool.

To Reproduce
Steps to reproduce the behavior:
1.

Expected behavior
A clear and concise description of what you expected to happen.

Logs
If applicable, add logs to help explain your problem.

Additional context
We discussed the issue over email. Please feel free to contact me there if you need additional information. Thanks!

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia riproducendo le registrazioni segnalate di AddSingleton(type, instance) e della factory nella configurazione dei servizi dell’SDK, utilizzando il tipo di tool fornito e il percorso Activator.CreateInstance. Confronta se, quando viene creato il tool, viene richiamata l’istanza registrata o la factory; il lavoro è completato quando entrambe le forme di registrazione vengono rispettate invece di creare silenziosamente un’altra istanza.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp
Ambito
backend-api-design
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.