protected override void ConfigureApplicationContainer(global::Nancy.TinyIoc.TinyIoCContainer container) { // TODO: support multiple doc-stores var docStore = new DocumentStore { ConnectionStringName = "RavenDB" }; var conventions = docStore.Conventions; conventions.FindFullDocumentKeyFromNonStringIdentifier = (o, type, arg3) => { var ret = conventions.DefaultFindFullDocumentKeyFromNonStringIdentifier(o, type, arg3); var areaConfigs = HttpContext.Current.Items["AreaConfigs"] as AreaConfigs; if (areaConfigs != null) { ret = areaConfigs.DocumentsPrefix + ret; } return(ret); }; conventions.TransformTypeTagNameToDocumentKeyPrefix = s => { var ret = DocumentConvention.DefaultTransformTypeTagNameToDocumentKeyPrefix(s); var areaConfigs = HttpContext.Current.Items["AreaConfigs"] as AreaConfigs; if (areaConfigs != null) { ret = areaConfigs.DocumentsPrefix + ret; } return(ret); }; AppDomainAssemblyTypeScanner.LoadAssembliesWithNancyReferences(); docStore.Initialize(); container.Register <IDocumentStore>(docStore, "DocStore"); base.ConfigureApplicationContainer(container); }