diff --git a/aspnetcore-webapi/RestVsWebSocket/Client/Client.csproj b/aspnetcore-webapi/RestVsWebSocket/Client/Client.csproj
index f02677bf64..dfb40caafc 100644
--- a/aspnetcore-webapi/RestVsWebSocket/Client/Client.csproj
+++ b/aspnetcore-webapi/RestVsWebSocket/Client/Client.csproj
@@ -2,7 +2,7 @@
Exe
- net7.0
+ net10.0
enable
enable
diff --git a/aspnetcore-webapi/RestVsWebSocket/RestVsWebSocket/Controllers/TaskController.cs b/aspnetcore-webapi/RestVsWebSocket/RestVsWebSocket/Controllers/TaskController.cs
index 13db6a2ea3..7f8c3ad223 100644
--- a/aspnetcore-webapi/RestVsWebSocket/RestVsWebSocket/Controllers/TaskController.cs
+++ b/aspnetcore-webapi/RestVsWebSocket/RestVsWebSocket/Controllers/TaskController.cs
@@ -1,6 +1,5 @@
using Microsoft.AspNetCore.Mvc;
using System.Net.WebSockets;
-using System.Net;
using System.Text;
namespace RestVsWebSocket.Controllers;
@@ -35,32 +34,15 @@ public IActionResult AddTask([FromBody] string task)
[HttpGet]
public async Task Get()
{
- if (HttpContext.WebSockets.IsWebSocketRequest)
- {
- using var ws = await HttpContext.WebSockets.AcceptWebSocketAsync();
+ using var ws = await HttpContext.WebSockets.AcceptWebSocketAsync();
- while (true)
- {
- var message = "The time is: " + DateTime.Now.ToString("HH:mm:ss");
- var bytes = Encoding.UTF8.GetBytes(message);
- var arraySegment = new ArraySegment(bytes, 0, bytes.Length);
- if (ws.State == WebSocketState.Open)
- {
- await ws.SendAsync(arraySegment,
- WebSocketMessageType.Text,
- true,
- CancellationToken.None);
- }
- else if (ws.State == WebSocketState.Closed || ws.State == WebSocketState.Aborted)
- {
- break;
- }
- Thread.Sleep(1000);
- }
- }
- else
+ while (ws.State == WebSocketState.Open)
{
- HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest;
+ var message = $"The time is: {DateTime.Now:HH:mm:ss}";
+ var bytes = Encoding.UTF8.GetBytes(message);
+
+ await ws.SendAsync(bytes, WebSocketMessageType.Text, true, CancellationToken.None);
+ await Task.Delay(1000);
}
}
}
\ No newline at end of file
diff --git a/aspnetcore-webapi/RestVsWebSocket/RestVsWebSocket/Program.cs b/aspnetcore-webapi/RestVsWebSocket/RestVsWebSocket/Program.cs
index eaf9e15c7b..b2c874c22a 100644
--- a/aspnetcore-webapi/RestVsWebSocket/RestVsWebSocket/Program.cs
+++ b/aspnetcore-webapi/RestVsWebSocket/RestVsWebSocket/Program.cs
@@ -1,28 +1,14 @@
var builder = WebApplication.CreateBuilder(args);
-// Add services to the container.
-
builder.Services.AddControllers();
-// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
-builder.Services.AddEndpointsApiExplorer();
-builder.Services.AddSwaggerGen();
+builder.Services.AddOpenApi();
-builder.WebHost.UseUrls("http://localhost:5289");
+builder.WebHost.UseUrls("http://localhost:5289"); // Client/Program.cs hardcodes this URL
var app = builder.Build();
-// Configure the HTTP request pipeline.
-if (app.Environment.IsDevelopment())
-{
- app.UseSwagger();
- app.UseSwaggerUI();
-}
-
-app.UseHttpsRedirection();
-
-app.UseAuthorization();
-
-app.MapControllers();
+app.MapOpenApi();
app.UseWebSockets();
+app.MapControllers();
app.Run();
diff --git a/aspnetcore-webapi/RestVsWebSocket/RestVsWebSocket/RestVsWebSocket.csproj b/aspnetcore-webapi/RestVsWebSocket/RestVsWebSocket/RestVsWebSocket.csproj
index d2f5cb08bd..e1f290f996 100644
--- a/aspnetcore-webapi/RestVsWebSocket/RestVsWebSocket/RestVsWebSocket.csproj
+++ b/aspnetcore-webapi/RestVsWebSocket/RestVsWebSocket/RestVsWebSocket.csproj
@@ -1,14 +1,13 @@
- net7.0
+ net10.0
enable
enable
-
-
+
diff --git a/aspnetcore-webapi/RestVsWebSocket/Tests/Tests.csproj b/aspnetcore-webapi/RestVsWebSocket/Tests/Tests.csproj
index 9b74c13fbb..c5f74c4801 100644
--- a/aspnetcore-webapi/RestVsWebSocket/Tests/Tests.csproj
+++ b/aspnetcore-webapi/RestVsWebSocket/Tests/Tests.csproj
@@ -1,7 +1,7 @@
- net7.0
+ net10.0
enable
enable