private static void Main(string[] args)
        {
            XmlConfigurator.Configure();

            UriConfiguration uriConfiguration = new UriConfiguration(
                new Uri("http://localhost/product-catalog/notifications/"),
                new UriTemplate("/recent"),
                new UriTemplate("/?page={id}"),
                new UriTemplate("/notification/{id}"));

            FileSystemConfiguration fileSystemConfiguration = new FileSystemConfiguration(@"c:\");

            Container container = new Container(uriConfiguration, fileSystemConfiguration);
            container.Timer.Start();

            ITimer publishTimer = StartPublishingTo(container.EventBuffer);

            try
            {
                Console.WriteLine("Starting server...");
                container.ServiceHost.StartHost();
                Console.WriteLine("Server started. Press any key to terminate.");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            finally
            {
                Console.ReadKey();

                publishTimer.Stop();
                publishTimer.Dispose();

                container.Dispose();
            }
        }
 public FileSystem(FileSystemConfiguration fileSystemConfiguration)
 {
     currentDirectory = new Directory(fileSystemConfiguration.CurrentDirectoryPath);
     archiveDirectory = new Directory(fileSystemConfiguration.ArchiveDirectoryPath);
     entryDirectory = new Directory(fileSystemConfiguration.EntryDirectoryPath);
 }