File tree Expand file tree Collapse file tree 5 files changed +21
-21
lines changed 
samples/AspNetCoreSseServer 
ModelContextProtocol.AspNetCore 
ModelContextProtocol/Shared 
tests/ModelContextProtocol.TestSseServer Expand file tree Collapse file tree 5 files changed +21
-21
lines changed Original file line number Diff line number Diff line change 1- using  ModelContextProtocol . AspNetCore ; 
2- 
31var  builder  =  WebApplication . CreateBuilder ( args ) ; 
42builder . Services . AddMcpServer ( ) . WithToolsFromAssembly ( ) ; 
53var  app  =  builder . Build ( ) ; 
Original file line number Diff line number Diff line change 1- using  Microsoft . AspNetCore . Builder ; 
2- using  Microsoft . AspNetCore . Http ; 
1+ using  Microsoft . AspNetCore . Http ; 
32using  Microsoft . AspNetCore . Routing ; 
43using  Microsoft . AspNetCore . WebUtilities ; 
54using  Microsoft . Extensions . DependencyInjection ; 
1211using  System . Collections . Concurrent ; 
1312using  System . Security . Cryptography ; 
1413
15- namespace  ModelContextProtocol . AspNetCore ; 
14+ namespace  Microsoft . AspNetCore . Builder ; 
1615
1716/// <summary> 
1817/// Extension methods for <see cref="IEndpointRouteBuilder"/> to add MCP endpoints. 
Original file line number Diff line number Diff line change @@ -30,7 +30,6 @@ dotnet add package ModelContextProtocol.AspNetCore --prerelease
3030
3131``` csharp 
3232//  Program.cs
33- using  ModelContextProtocol .AspNetCore ;
3433using  ModelContextProtocol .Server ;
3534using  System .ComponentModel ;
3635
Original file line number Diff line number Diff line change @@ -94,25 +94,30 @@ public virtual async ValueTask DisposeUnsynchronizedAsync()
9494    { 
9595        _logger . CleaningUpEndpoint ( EndpointName ) ; 
9696
97-         if   ( _sessionCts   is  not  null ) 
97+         try 
9898        { 
99-             await  _sessionCts . CancelAsync ( ) . ConfigureAwait ( false ) ; 
100-         } 
101- 
102-         if  ( MessageProcessingTask  is  not null ) 
103-         { 
104-             try 
99+             if  ( _sessionCts  is  not null ) 
105100            { 
106-                 await  MessageProcessingTask . ConfigureAwait ( false ) ; 
101+                 await  _sessionCts . CancelAsync ( ) . ConfigureAwait ( false ) ; 
107102            } 
108-             catch  ( OperationCanceledException ) 
103+ 
104+             if  ( MessageProcessingTask  is  not null ) 
109105            { 
110-                 // Ignore cancellation 
106+                 try 
107+                 { 
108+                     await  MessageProcessingTask . ConfigureAwait ( false ) ; 
109+                 } 
110+                 catch  ( OperationCanceledException ) 
111+                 { 
112+                     // Ignore cancellation 
113+                 } 
111114            } 
112115        } 
113- 
114-         _session ? . Dispose ( ) ; 
115-         _sessionCts ? . Dispose ( ) ; 
116+         finally 
117+         { 
118+             _session ? . Dispose ( ) ; 
119+             _sessionCts ? . Dispose ( ) ; 
120+         } 
116121
117122        _logger . EndpointCleanedUp ( EndpointName ) ; 
118123    } 
Original file line number Diff line number Diff line change 1- using  ModelContextProtocol . AspNetCore ; 
2- using  ModelContextProtocol . Protocol . Types ; 
1+ using  ModelContextProtocol . Protocol . Types ; 
32using  ModelContextProtocol . Server ; 
43using  Serilog ; 
54using  System . Text ; 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments