Book Image

Apps and Services with .NET 8 - Second Edition

By : Mark J. Price
5 (7)
Book Image

Apps and Services with .NET 8 - Second Edition

5 (7)
By: Mark J. Price

Overview of this book

Elevate your practical C# and .NET skills to the next level with this new edition of Apps and Services with .NET 8. With chapters that put a variety of technologies into practice, including Web API, gRPC, GraphQL, and SignalR, this book will give you a broader scope of knowledge than other books that often focus on only a handful of .NET technologies. You’ll dive into the new unified model for Blazor Full Stack and leverage .NET MAUI to develop mobile and desktop apps. This new edition introduces the latest enhancements, including the seamless implementation of web services with ADO.NET SqlClient's native Ahead-of-Time (AOT) support. Popular library coverage now includes Humanizer and Noda Time. There’s also a brand-new chapter that delves into service architecture, caching, queuing, and robust background services. By the end of this book, you’ll have a wide range of best practices and deep insights under your belt to help you build rich apps and efficient services.
Table of Contents (19 chapters)
18
Index

Working with Noda Time

Noda Time is for developers who feel that the built-in libraries for handling dates and times are not good enough. Noda Time is like Joda Time, a replacement date/time handling library for Java.

Noda Time 3.0 or later supports .NET Standard 2.0 and .NET 6 or later. This means that you can use it with legacy platforms like .NET Framework and Xamarin, as well as modern .NET.

To understand one of the core deficiencies with the built-in .NET date/time types, imagine that instead of defining separate types for numbers, like int (System.Int32), double (System.Double), and decimal (System.Decimal), the .NET team defined only a System.Number type with a property named Kind to indicate what kind of number it is, how it is stored in memory, how to handle it, and so on.

That is what the team did with System.DateTime. That type has a Kind property that indicates if it is a local time, UTC time, or unspecified. It varies in behavior depending on...