Here are three techniques for optimizing ASP.NET applications:
1. Reduce page load times by minimizing scripts and using caching. Minimize redundant processing by leveraging features like IsPostBack.
2. Improve database performance by using connection pooling, writing efficient queries, and caching data.
3. Enhance performance by disabling unused features like session state, tracing only when needed, and using data readers over datasets.