diff --git a/src/SignalR/samples/SignalRSamples/SignalRSamples.csproj b/src/SignalR/samples/SignalRSamples/SignalRSamples.csproj
index 45adb3b3cd..64b4d62744 100644
--- a/src/SignalR/samples/SignalRSamples/SignalRSamples.csproj
+++ b/src/SignalR/samples/SignalRSamples/SignalRSamples.csproj
@@ -19,7 +19,6 @@
-
diff --git a/src/SignalR/samples/SignalRSamples/Startup.cs b/src/SignalR/samples/SignalRSamples/Startup.cs
index ba8cf35786..b82743e678 100644
--- a/src/SignalR/samples/SignalRSamples/Startup.cs
+++ b/src/SignalR/samples/SignalRSamples/Startup.cs
@@ -9,8 +9,8 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
+using System.Text.Json;
+using System.Text.Json.Serialization;
using SignalRSamples.ConnectionHandlers;
using SignalRSamples.Hubs;
@@ -18,6 +18,9 @@ namespace SignalRSamples
{
public class Startup
{
+
+ private readonly JsonWriterOptions _jsonWriterOptions = new JsonWriterOptions { Indented = true };
+
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
@@ -57,20 +60,19 @@ namespace SignalRSamples
endpoints.MapConnectionHandler("/chat");
- endpoints.MapGet("/deployment", context =>
+ endpoints.MapGet("/deployment", async context =>
{
var attributes = Assembly.GetAssembly(typeof(Startup)).GetCustomAttributes();
context.Response.ContentType = "application/json";
- using (var textWriter = new StreamWriter(context.Response.Body))
- using (var writer = new JsonTextWriter(textWriter))
+ await using (var writer = new Utf8JsonWriter(context.Response.BodyWriter, _jsonWriterOptions))
{
- var json = new JObject();
+ writer.WriteStartObject();
var commitHash = string.Empty;
foreach (var attribute in attributes)
{
- json.Add(attribute.Key, attribute.Value);
+ writer.WriteString(attribute.Key, attribute.Value);
if (string.Equals(attribute.Key, "CommitHash"))
{
@@ -80,13 +82,12 @@ namespace SignalRSamples
if (!string.IsNullOrEmpty(commitHash))
{
- json.Add("GitHubUrl", $"https://github.com/aspnet/SignalR/commit/{commitHash}");
+ writer.WriteString("GitHubUrl", $"https://github.com/aspnet/SignalR/commit/{commitHash}");
}
- json.WriteTo(writer);
+ writer.WriteEndObject();
+ await writer.FlushAsync();
}
-
- return Task.CompletedTask;
});
});
}