Merge remote-tracking branch 'origin/master'

This commit is contained in:
Dmitri Shimanski
2025-03-29 02:55:10 +03:00
2 changed files with 29 additions and 2 deletions

View File

@@ -85,6 +85,33 @@ public class GameController : WebSocketController
}
}
```
## Providing dependencies in controller
```csharp
[WebSocket("/chat")]
public class ChatController : WebSocketController
{
public static DbContext dbContext;
public ChatController(DbContext dbContext)
{
ChatController.dbContext = dbContext;
}
[WebSocket("join/{roomId}")]
public async Task JoinRoom(WebSocket webSocket, HttpContext context)
{
await dbContext.Add(...);
// Next your logic etc
}
[WebSocket("leave/{roomId}")]
public async Task LeaveRoom(WebSocket webSocket, HttpContext context)
{
// Handle room leaving
}
}
```
## Lifecycle Management
1. **Connection** - Automatically handled by middleware
@@ -118,4 +145,4 @@ public class GameController : WebSocketController
```
## License
MIT License - Free for commercial and personal use.
[Apache license - Free for commercial and personal use.](LICENSE)

View File

@@ -4,7 +4,7 @@
<TargetFrameworks>net6.0;net7.0;net8.0;net9.0</TargetFrameworks>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Version>0.0.9</Version>
<Version>1.0.0</Version>
<Title>yawaflua.WebSockets</Title>
<Description>New AspNet controllers looks like websocket manager </Description>
<Copyright>Dmitrii Shimanskii</Copyright>