Welcome to this collection of PostSharp example projects.
You can browse these samples online and navigate the code just by clicking on code references, or you can download them on GitHub.
Project | Description |
---|---|
Aspect Framework | |
PostSharp.Samples.CustomLogging | Logs method calls including parameter values. |
PostSharp.Samples.CustomCaching | Caches the results of methods calls |
PostSharp.Samples.ExceptionHandling | Add parameter values to call stack in exception details. Report and then swallow exceptions in entry points. |
PostSharp.Samples.AutoRetry | Automatically retries a method call when it fails. |
PostSharp.Samples.WeakEvent | Prevents memory leaks due to events. |
PostSharp.Samples.ValidateResourceString | Prints a build-time warning when incorrect resource string name is passed to parameter. |
PostSharp.Samples.SessionState | Stores a field or property in the session state or page view state. |
PostSharp.Samples.Transactions | Automatically executes a method inside a transaction. |
PostSharp.Samples.Profiling | Measure different execution times of methods, including async methods. |
PostSharp.Samples.Encryption | Automatically encrypts and decrypts parameter and fields/properties |
PostSharp.Samples.MiniProfiler | Measures method execution time with MiniProfiler of StackExchange. |
PostSharp.Samples.Persistence | Persists fields or properties into the Windows registry or app.config . |
PostSharp.Samples.AutoDataContract | Automatically adds [DataContract] and [DataMember] attributes to derived classes and all properties |
PostSharp.Samples.Authorization | Requires permissions before getting or setting fields or executing methods. |
PostSharp.Samples.NormalizeString | Trims and lowercases strings before they are assigned to a field or property. |
PostSharp.Samples.StoredProcedure | Implements something like P-Invoke, but for database stored procedures. |
Diagnostics | |
PostSharp.Samples.Logging.Console | Demonstrates how to configure PostSharp Logging so that it directs its output to the system console. |
PostSharp.Samples.Logging.PerRequest | Shows how to have different verbosity for each request, |
PostSharp.Samples.Logging.Customization | Shows how to customize PostSharp Logging. |
PostSharp.Samples.Logging.Etw | Demonstrates how to configure PostSharp Logging so that it directs its output to ETW. |
PostSharp.Samples.Logging.Etw.CustomSource | Demonstrates how use PostSharp Logging with a custom ETW source (instead of the predefined one). |
PostSharp.Samples.Logging.Log4Net | Demonstrates how to configure PostSharp Logging so that it directs its output to log4net. |
PostSharp.Samples.Logging.NLog | Demonstrates how to configure PostSharp Logging so that it directs its output to NLog. |
PostSharp.Samples.Logging.Serilog | Demonstrates how to configure PostSharp Logging so that it directs its output to Serilog. |
PostSharp.Samples.Logging.Loupe | Demonstrates how to configure PostSharp Logging so that it directs its output to Loupe. |
PostSharp.Samples.Logging.CommonLogging | Demonstrates how to configure PostSharp Logging so that it directs its output to Common.Logging. |
PostSharp.Samples.Logging.CustomBackend.ServiceStack | Demonstrates how to implement a PostSharp Logging adapter for your custom logging framework. |
PostSharp.Samples.Logging.Audit | Shows how to append an audit record to a database when a method is invoked. |
Distributed Diagnostics with Elastic Search | |
PostSharp.Samples.Logging.ElasticStack/MicroserviceExample | The server-side service demonstrating correlation of logs of a distributed application with Elastic Search. |
PostSharp.Samples.Logging.ElasticStack/ClientExample | The server-side service demonstrating correlation of logs of a distributed application with Elastic Search. |
XAML | |
PostSharp.Samples.Xaml | Demonstrates a few ready-made aspects that are useful for XAML |
Caching | |
PostSharp.Samples.Caching | Caching method results with Redis and different ways to remove things from the cache. |
Threading | |
PostSharp.Samples.Threading.PingPong | The classic educational ping-pong example. |
PostSharp.Samples.Threading.ThreadDispatching | A simple WPF progress bar updated from a background thread. |
Platform Support | |
PostSharp.Samples.Blazor.AutoRetry | Demonstrates a custom aspect used in a Blazor application. |