Skip to content

Convenience extensions for working in .NET and ASP.NET Core

License

Notifications You must be signed in to change notification settings

tinglesoftware/dotnet-extensions

Repository files navigation

.NET and ASP.NET Core convenience functionality

NuGet GitHub Workflow Status Dependabot license

This repository contains projects/libraries for adding useful functionality to .NET and ASP.NET Core when running real-world applications in production. We have been using these packages at Tingle for years and thought it would be better if we shared them.

Packages

Package Description
Tingle.AspNetCore.ApplicationInsights Convenience functionality for Application Insights on AspNetCore such as collecting problem details. See docs and sample
Tingle.AspNetCore.Authentication Convenience authentication functionality such as pass through and pre-shared key authentication mechanisms. See docs and sample
Tingle.AspNetCore.Authorization Additional authorization functionality such as handlers and requirements. See docs and sample
Tingle.AspNetCore.DataProtection.MongoDB Data Protection store in MongoDB for ASP.NET Core. See docs and sample.
Tingle.AspNetCore.JsonPatch JSON Patch support for AspNetCore using System.Text.Json. See docs.
Tingle.AspNetCore.JsonPatch.NewtonsoftJson Helpers for validation when working with JsonPatch in ASP.NET Core. See docs and blog.
Tingle.AspNetCore.Swagger Usability extensions for Swagger middleware including smaller ReDoc support. See docs.
Tingle.AspNetCore.Tokens Support for generation of continuation tokens in ASP.NET Core with optional expiry. Useful for pagination, user invite tokens, expiring operation tokens, etc. This is availed through the ContinuationToken<T> and TimedContinuationToken<T> types. See docs and sample.
Tingle.Extensions.Caching.MongoDB Distributed caching implemented with MongoDB on top of IDistributedCache, inspired by CosmosCache. See docs and sample
Tingle.Extensions.DataAnnotations Additional data validation attributes in the System.ComponentModel.DataAnnotations namespace. Some of this should have been present in the framework but are very specific to some use cases. For example FiveStarRatingAttribute. See docs.
Tingle.Extensions.EntityFrameworkCore Convenience functionality and extensions for working with EntityFrameworkCore. See docs.
Tingle.Extensions.Http Lightweight abstraction around HttpClient which can be used to build custom client with response wrapping semantics. See docs.
Tingle.Extensions.Http.Authentication Authentication providers for use with HttpClient and includes support for DI via Microsoft.Extensions.Http. See docs and sample.
Tingle.Extensions.JsonPatch JSON Patch (RFC 6902) support for .NET to easily generate JSON Patch documents using System.Text.Json for client applications. See docs.
Tingle.Extensions.MongoDB Extensions for working with MongoDB. See docs and sample.
Tingle.Extensions.Mustache Basic mustache cache implementation in .NET built upon the good work offered in at https://github.com/ActiveCampaign/mustachio. See docs.
Tingle.Extensions.PhoneValidators Convenience for validation of phone numbers either via attributes or resolvable services. See docs.
Tingle.Extensions.Primitives Additional primitive types such as Money, Currency, Duration, Keygen, Etag etc. See docs.
Tingle.Extensions.Processing Helpers for making processing of bulk in memory tasks. See docs.
Tingle.Extensions.PushNotifications Clients for sending push notifications via FCM, APNs etc. See docs.
Tingle.Extensions.Serilog Extensions for working with Serilog. Including easier registration when working with different host setups, and general basics. See docs and sample.

Issues & Comments

Please leave all comments, bugs, requests, and issues on the Issues page. We'll respond to your request ASAP!

License

The Library is licensed under the MIT license. Refer to the LICENSE file for more information.