System.Web.Caching.CacheItemPriorityQueue.OnDomainUnload C# (CSharp) Method

OnDomainUnload() private method

private OnDomainUnload ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
		void OnDomainUnload (object sender, EventArgs e)
		{
			if (EDSequence.Count == 0) {
				Console.WriteLine ("No enqueue/dequeue sequence recorded.");
				return;
			}

			try {
				string filePath = Path.Combine (HttpRuntime.AppDomainAppPath, String.Format ("cache_pq_sequence_{0}.seq", DateTime.UtcNow.ToString ("yyyy-MM-dd_hh-mm-ss")));
				var settings = new XmlWriterSettings ();
				settings.Indent = true;
				settings.IndentChars = "\t";
				settings.NewLineChars = "\n";
				settings.Encoding = Encoding.UTF8;
				
				using (XmlWriter writer = XmlWriter.Create (filePath, settings)) {
					writer.WriteStartDocument (true);
					writer.WriteStartElement ("sequence");
					foreach (EDSequenceEntry entry in EDSequence) {
						writer.WriteStartElement ("entry");
						writer.WriteAttributeString ("type", entry.Type.ToString ());
						writer.WriteAttributeString ("key", entry.Item.Key.Replace ("\n", "\\n").Replace ("\r", "\\r"));
						writer.WriteAttributeString ("absoluteExpiration", entry.Item.AbsoluteExpiration.Ticks.ToString ());
						writer.WriteAttributeString ("slidingExpiration", entry.Item.SlidingExpiration.Ticks.ToString ());
						writer.WriteAttributeString ("priority", entry.Item.Priority.ToString ());
						writer.WriteAttributeString ("lastChange", entry.Item.LastChange.Ticks.ToString ());
						writer.WriteAttributeString ("expiresAt", entry.Item.ExpiresAt.ToString ());
						writer.WriteAttributeString ("disabled", entry.Item.Disabled.ToString ());
						writer.WriteAttributeString ("guid", entry.Item.Guid.ToString ());
						writer.WriteEndElement ();
					}
					writer.WriteEndElement ();
					writer.Flush ();
				}
			} catch (Exception ex) {
 				Console.WriteLine ("Failed to write enqueue/dequeue sequence file. Exception was caught:\n{0}",
 						   ex);
 			}
		}		
#endif