Found 55 packages
The 'async8' library is a utility package designed to simplify asynchronous programming in .NET applications. It offers a comprehensive set of tools, including extension methods for Task-based operations, concurrent task management helpers, async-enabled caching, and robust retry policies. These features help developers write clean, efficient, and maintainable asynchronous code, reducing complexity while improving scalability and performance.
A better, smarter, and faster way to interact with Redis. While RediJson allows access to JSON models, direct hash calls remain the best way to maximize performance on Redis. Easily perform complex queries using LINQ and partially load/update your models.
AsyncMemoryCache allows you to lazily create cache entries while also making sure to dispose of them properly when evicted.
Free yourself from IsBusy=true! The `TaskLoaderView` and the `TemplatedTaskLoader` are UI components that handle all your UI loading state (Loading, Error, Result, Notification), and removes all the pain of async loading from your view models (try catch / async void / IsBusy / HasErrors / base view models / ...) thanks to its brother the `TaskLoaderNotifier`. Featuring: * Default views for all loading states (Loading, Error, Success, Notification, Refresh) * Snackbar component * Compose notifiers with CompositeTaskLoaderNotifier * Stylable views including fonts, accent color, error images, ... * Any states are overridable with user custom views and easily positionned with AbsoluteLayout properties * Support for Xamarin.Forms.Skeleton nuget package * Support for refresh scenarios, and error while refreshing with the ErrorNotificationView * Supports Async mvvm ICommand through TaskLoaderCommand * Supports loading task on demand with the NotStarted state * TaskLoaderNotifier for the ViewModel side taking care of all the error handling and the IsBusy nonsense
ConfigureAwait(true) and ConfigureAwait(false) are very important when dealing with asynchronous code. However, they make code hard to read and easy to fail. ObviousAwait introduces two aliases: KeepContext() and FreeContext(), reducing the cognitive load while reading and writing asynchronous code.
.NET library that can be used for asynchronous initialization of services while using Microsoft.Extensions.DependencyInjection.
Persisting data while downloading them as IAsyncEnumerable
Free yourself from IsBusy=true! The `TaskLoaderView` and the `TemplatedTaskLoader` are UI components that handle all your UI loading state (Loading, Error, Result, Notification), and removes all the pain of async loading from your view models (try catch / async void / IsBusy / HasErrors / base view models / ...) thanks to its brother the `TaskLoaderNotifier`. Featuring: * Default views for all loading states (Loading, Error, Success, Notification, Refresh) * Snackbar component * Compose notifiers with CompositeTaskLoaderNotifier * Stylable views including fonts, accent color, error images, ... * Any states are overridable with user custom views and easily positionned with AbsoluteLayout properties * Support for Xamarin.Forms.Skeleton nuget package * Support for refresh scenarios, and error while refreshing with the ErrorNotificationView * Supports Async mvvm ICommand through TaskLoaderCommand * Supports loading task on demand with the NotStarted state * TaskLoaderNotifier for the ViewModel side taking care of all the error handling and the IsBusy nonsense
Runs Dapper queries using SqlGenerator for generating and caching SQL, does not have any dependencies other than Dapper and generates modern SQL depending on a connection type while being fully customizable
Simplify paging through an API (HasMorePages) while performing more async operations with the result
Simple notification publisher extension package for MediatR that enables parallel and fire-and-forget publishing of notifications. The library aims to improve performance and responsiveness by executing notification handlers concurrently, while also providing exception handling mechanisms for notification processing.
This is updated punchclock nuget that supports Reactive 4.0 There is a problem on Android when compiling System.Threading.Tasks.Extension need to downgrade from 4.5.1 to 4.0.0 Original was not upfated for a while.
Controlled fan-out pattern: global gate bounds total concurrency while per-key ordering is preserved.
Quantori BDD is an automation framework that makes use of a wide array of existing grammatical structures, including abstractions, implementations, and bindings, while also offering strong customization options for any implementations. The AsyncAbstractions.UI package, within the framework, provides step definitions (without implementation) and templates (abstractions) for UI-bindings. This package serves as a foundational basis for implementing actual functionalities, allowing for streamlined development and customization.
Provides Stream.CopyTo overloads for reporting the current relative or absolute progress while copying.
Provides the basis for implementing the Ambient Context pattern. Includes a Clock implementation based on it. The Ambient Context pattern is an Inversion of Control (IoC) pattern that provides static access to a dependency while controlling the dependency from the outside. The pattern optimizes code reachability at the cost of reduced transparency, making it suitable for obvious, ubiquitous, rarely-changing dependencies. For example, an entity's constructor can access Clock.UtcNow, avoiding the need to inject the creation datetime or a dependency, at the cost of hiding the fact that a unit test could control the timestamp from the outside. An example from .NET is System.Transactions.TransactionScope. Any code (such as the database connector) can access the static Transaction.Current, yet outer code in the current execution flow controls it, through TransactionScopes. https://github.com/TheArchitectDev/Architect.AmbientContexts Release notes: 2.0.1: - Updated dependencies to the latest versions and removed some unused dependencies. 2.0.0: - BREAKING: ClockScope no longer has a configurable default scope. (See also next item). - BREAKING: Removed explicit support for "configured default scopes", i.e. scopes configured on startup. They posed too many concurrency risks, such as in test runs. (Default scopes without any configuration are still supported.) - BREAKING: Removed the RemoveAmbientScope() method. Deactivate() should be used instead. - Added support for netstandard2.0. - ClockScope's constructor now prefers UTC datetimes, to avoid lossy conversions (due to DST). - ClockScope now exposes a convenience constructor that takes a DateTime instead of a Func<DateTime>. 1.1.1: - Manually disposing scopes from a deeper async level (such as a DisposeAsync() method with the async keyword) now properly affects methods up the call stack and no longer breaks scope nesting. - Improved the protections against race conditions. - Parent properties are no longer unset on disposal (although implementations should not rely on this detail). - Performance improvement: A scope now avoids even instantiating its AsyncLocal as long as only its default scope is used, as is common in production for certain scopes. - Performance improvement: The JIT can now inline more code, since exceptions have been moved into helper methods. 1.1.0: - Introduced non-generic AmbientScope base class. - Performance improvement: A scope now avoids touching its AsyncLocal as long as only its default scope is used, as is common in production for certain scopes.
Set of methods to facilitate waiting a certain amount of time for a delegate to evaluate, while ignoring certain exceptions while attempting to evaluate, and throwing after a specified time limit (or throwing immediately if an unexpected exception is encountered)
Aspose.HTML for .NET is a cross-platform class library that works as a headless browser, seamlessly integrating with .NET, C#, VB.NET, and ASP.NET applications. It supports HTML5, CSS3, SVG, and Canvas while building a Document Object Model (DOM) based on the WHATWG standard. Developers can navigate and manipulate HTML documents using DOM traversal, XPath, CSS selectors, or JavaScript. Along with a wide range of functions for programmatic work with HTML content, the library allows users to load, read, convert, and render SVG, MHTML, Markdown, and EPUB documents. Aspose.HTML for .NET provides robust data extraction capabilities, enabling you to parse and extract information from HTML documents. It also supports binding data from XML or JSON sources to HTML templates, making it ideal for generating dynamic content. Additional features include CSS extraction, document sandboxing, SVG file management, support for asynchronous operations, custom output stream handling, real-time DOM observation using MutationObserver, an HTML form editor, comprehensive web accessibility testing, and more. Aspose.HTML for .NET provides comprehensive format conversion support, enabling your applications to convert from HTML, XHTML, SVG, EPUB, MHTML, and Markdown documents to various formats, including PDF, XPS, DOCX, images, etc. It is optimized for handling complex and large-scale documents, making it ideal for web automation, content creation and management.
A robust Task Parallel Library that combines Railway Oriented Programming with parallel execution patterns. Execute collections of tasks concurrently while maintaining functional programming principles and comprehensive error handling.
DI-friendly and UI framework-agnostic task runner/dispatcher with integrated support for managing UI busy-state while tasks are running.