Ninject: MVC3 App with Long Running Background Task
===

I have an MVC3 app that has a long-running background task (re-indexing a Lucene database).

Right now I have the following Ninject binding to support this:

	kernel.Bind<ILuceneIndexer>()
		.To<ConMgmtIndexer>()
		.InRequestScope()
		.WithConstructorArgument("siteRelativeFilesPath", SiteWide.SiteRelativeFilesPath);

ConMgmtIndexer is a concrete implementation of the indexer.

It occurs to me that InRequestScope is probably not the right scoping. I think I want to use InSingletonScope(), because there should only ever be one instance of the indexer around at any point in time.

I've read, though, that InSingletonScope can cause problems in web apps.

Is it okay to use in this instance? Or is there another pattern I should be using?