Alternative to `RunSessionHandler` for accessing MCP servers
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- Calme
- Stack technique
- csharp
- Domaine
- backend-api-design
Piste de recherche
Commencez par examiner les API de RunSessionHandler et McpServer, en particulier McpServer.SessionId et RunAsync, et comparez-les à la discussion liée depuis issue 1382. Déterminez la manière prise en charge de conserver l’accès aux serveurs MCP actifs et d’envoyer des notifications ultérieurement, notamment la façon dont les serveurs sans état doivent être gérés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Now that RunSessionHandler has been marked as experimental, what is the correct way to access the MCP servers in order to send notifications at a later time?
We currently have:
var mcpServers = new ConcurrentDictionary<string, McpServer>();
options.RunSessionHandler = async (_, mcpServer, token) =>
{
if (mcpServer.SessionId == null)
{
// There is no sessionId if serverOptions.Stateless is true.
await mcpServer.RunAsync(token);
return;
}
try
{
mcpServers[mcpServer.SessionId] = mcpServer;
await mcpServer.RunAsync(token);
}
finally
{
// This code runs when the session ends.
mcpServers.TryRemove(mcpServer.SessionId, out var _);
}
};
We are then able to send notifications to the active servers.
(initially posted here)
- Langage dominant
- C#
- Étoiles
- 4.6k
- Forks
- 817
- Merge moyen
- 8 j 7 h
- PR mergées (30 j)
- 3
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de modelcontextprotocol/csharp-sdk
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
modelcontextprotocol/csharp-sdk#1867 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
modelcontextprotocol/csharp-sdk#1840 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
modelcontextprotocol/csharp-sdk#1836 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement needs confirmation
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
modelcontextprotocol/csharp-sdk#678 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement needs confirmation P3 ready for work
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
modelcontextprotocol/csharp-sdk#515 · 6 commentaires · 3 réactions ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de modelcontextprotocol/csharp-sdk
Issues similaires
-
Money ExploitsOuverteS: Untriaged
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
project-wayfarer/wayfarer-14#1628 ·
Les mainteneurs répondent en général sous 3 jours
-
:watch: Not Triaged dotnet-target-version
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
copilot documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 2 jours
-
untriaged
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
dotnet/dotnet-api-docs#13124 ·
Les mainteneurs répondent en général sous 1 jour
-
agentic-workflows
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour