Book Image

ASP.NET Core 3 and React

By : Carl Rippon
Book Image

ASP.NET Core 3 and React

By: Carl Rippon

Overview of this book

Microsoft's ASP.NET Core is a robust and high-performing cross-platform web API framework, and Facebook's React uses declarative JavaScript to drive a rich, interactive user experience on the client-side web. Together, they can be used to build full stack apps with enhanced security and scalability at each layer. This book will start by taking you through React and TypeScript components to build an intuitive single-page application. You’ll understand how to design scalable REST APIs that can integrate with a React-based frontend. You’ll get to grips with the latest features, popular patterns, and tools available in the React ecosystem, including function-based components, React Router, and Redux. The book shows how you can use TypeScript along with React to make the frontend robust and maintainable. You’ll then cover important .NET Core features such as API controllers, attribute routing, and model binding to help you build a sturdy backend. Additionally, you’ll explore API security with ASP.NET Core identity and authorization policies, and write reliable unit tests using both .NET Core and React before you deploy your app to the Azure cloud. By the end of the book, you’ll have gained all the knowledge you need to enhance your C# and JavaScript skills and build full stack, production-ready applications with ASP.NET Core and React.
Table of Contents (22 chapters)
Free Chapter
1
Section 1: Getting Started
4
Section 2: Building a Frontend with React and TypeScript
9
Section 3: Building an ASP.NET Core Backend
16
Section 4: Moving into Production
20
Assessments

Creating the SignalR real-time API endpoint

Before we can use our SignalR real-time API, we need to enable SignalR and define the path for the endpoint. Let's carry out the following steps in Startup.cs:

  1. We'll start by referencing our SignalR hub with the following using statement:
using QandA.Hubs;
  1. Add SignalR to our ASP.NET app by using the AddSignalR method in the services parameter in the ConfigureServices method:
public void ConfigureServices(IServiceCollection services)
{
...

services.AddSignalR();
}
  1. The next step is to configure the request pipeline so that we can pass SignalR requests to our SignalR hub:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
...
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapHub<QuestionsHub>("/questionshub");
});
}

So, SignalR requests to the /questionshub...