PostSharp.Samples

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.
Diagnostics
PostSharp.Samples.Logging.Customization Shows how to customize PostSharp Logging.
PostSharp.Samples.Logging.Console Demonstrates how to configure PostSharp Logging so that it directs its output to the system console.
PostSharp.Samples.Logging.Etw Demonstrates how to configure PostSharp Logging so that it directs its output to ETW.
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.
PostSharp.Samples.Logging.Audit.Extended Shows how to add custom pieces of information to the audit record.
XAML
PostSharp.Samples.Xaml Demonstrates a few ready-made aspects that are useful for XAML
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.