Is there a way that I can clear/expire a page cache from another page/class?

No, not easily unless you use the output cache APIs on Response.Cache and take advantage of the Response.AddCacheDependency() to make the page dependent on a common key. Then, from the other page or class you could invalidate the common key which would enforce a dependency eviction (since the key page1 depended on changed). Refer How to remove OutputCache by param?

What is a MemoryStream and how to use MemoryStream in ASP.NET

The MemoryStream class creates streams that use memory as storage instead of a disk or a network connection. MemoryStream encapsulates data stored as an unsigned byte array that is initialized upon creation of a MemoryStream object, or the array can be created as empty. The encapsulated data is directly accessible in memory. Memory streams can reduce the need for temporary buffers and files in an application. For more details refer MemoryStream Class How can I display an image from a Sql Server database?

How can I get events fired by an Office XP chart control hosted in my Windows Forms app?

To get these events instead of using event delegates, you can create a sink for the events by using the IConnectionPointContainer and IConnectionPoint interfaces of the Spreadsheet/Chart component. Here are two articles that you can check: HOWTO: Handle Office XP Spreadsheet Events in Visual C# .NET HOWTO: Handle Office XP Chart Events in Visual C# .NET Reply posted by Elan Zhou (MS) in microsoft.public.dotnet.framework.windowsforms.