public override void Initialize()
		{
			var httpModule = ServiceLocator.Locator.Resolve<HttpModule>(); ;
			_pathProvider = new StaticContentPathProvider(GetParameter<string>(HttpParameters.PathProviderConnectionString));
			_pathProvider.SetVirtualDir(httpModule.GetParameter<string>(HttpParameters.HttpVirtualDir));
			SetParameter(HttpParameters.PathProviderInstance, _pathProvider);
			_cachingModule = GetParameter<INodeModule>(HttpParameters.CacheInstance);
			if (_cachingModule != null)
			{
				_pathProvider.SetCachingEngine(_cachingModule.GetParameter<ICacheEngine>(HttpParameters.CacheInstance));
				_pathProvider.InitializeFileWatcher();
			}

			httpModule.RegisterPathProvider(_pathProvider);
			_pathProvider.Log = ServiceLocator.Locator.Resolve<ILogger>();
		}
		public void ItShouldBePossibleToExecuteArequestWithCache()
		{
			var assemblyLocation = Assembly.GetExecutingAssembly().Location;
			var runner = new RunnerForTest();
			NodeMainInitializer.InitializeFakeMain(assemblyLocation, runner);
			var cachingModule = new CachingModule();
			cachingModule.Initialize();
			var rootDir = InferWebRootDir(assemblyLocation);
			var pathProvider = new StaticContentPathProvider(rootDir);
			pathProvider.SetCachingEngine(cachingModule.GetParameter<ICacheEngine>(HttpParameters.CacheInstance));
			var http = new HttpModule();
			http.SetParameter(HttpParameters.HttpPort, 8881);
			http.SetParameter(HttpParameters.HttpVirtualDir, "nodecs");
			http.SetParameter(HttpParameters.HttpHost, "localhost");


			var routingService = new RoutingService();
			http.RegisterRouting(routingService);

			http.Initialize();

			http.RegisterPathProvider(pathProvider);

			const string uri = "http://localhost:8881/nodecs";

			var context = CreateRequest(uri);
			var outputStream = (MockStream)context.Response.OutputStream;
			outputStream.Initialize();

			//request.
			http.ExecuteRequest(context);
			runner.RunCycleFor(200);
			var os = (MemoryStream)context.Response.OutputStream;
			os.Seek(0, SeekOrigin.Begin);
			var bytes = os.ToArray();
			var result = Encoding.UTF8.GetString(bytes);

			Assert.IsNotNull(result);
			Assert.IsTrue(outputStream.WrittenBytes > 0);
			Assert.IsTrue(result.Length > 0);
			Assert.IsTrue(result.IndexOf("Exception", StringComparison.Ordinal) < 0, result);
			Assert.AreEqual(1, outputStream.ClosesCall);
		}