Asp.net mvc 4 无法访问RavenDB Management Studio
尝试:Asp.net mvc 4 无法访问RavenDB Management Studio,asp.net-mvc-4,ravendb,ravendb-studio,Asp.net Mvc 4,Ravendb,Ravendb Studio,尝试: 我在VS2012中创建了一个新项目 我是通过NuGet软件包安装的 我安装了 为ninject RavenDB添加了一个模块: Public class RavenDBNinjectModule : NinjectModule { public override void Load() { Bind<IDocumentStore>().ToMethod(context => { NonAdminHttp.EnsureCan
Public class RavenDBNinjectModule : NinjectModule
{
public override void Load()
{
Bind<IDocumentStore>().ToMethod(context =>
{
NonAdminHttp.EnsureCanListenToWhenInNonAdminContext(8080);
var documentStore = new EmbeddableDocumentStore { Url="http://localhost:8080/", DataDirectory="~/App_Data", UseEmbeddedHttpServer = true };
return documentStore.Initialize();
}).InSingletonScope();
Bind<IDocumentSession>().ToMethod(context => context.Kernel.Get<IDocumentStore>().OpenSession()).InRequestScope();
}
}
我做错了什么?您正在设置Url属性,这意味着您不是在嵌入式模式下运行,而是在服务器模式下运行。
删除Url属性,一切都将正常运行。您正在设置Url属性,这意味着您不是在嵌入式模式下运行,而是在服务器模式下运行。 删除Url属性,一切都会正常工作。我发现了问题 由于ninject很快就使用了
IDocumentSession
,因此他没有创建IDocumentStore
的实例,因此没有运行Initialize
方法我发现了问题
由于ninject很快就使用了
IDocumentSession
,因此没有创建IDocumentStore
的实例,因此没有运行Initialize
方法,问题是documentStore.Initialize
从未被调用,因为没有人要求Ninject解决原来的IDocumentStore
,问题是documentStore.Initialize
从未被调用,因为没有人要求Ninject解析IDocumentStore
是否确实调用了documentStore.Initialize
?如果在项目符号列表中发布代码片段,则需要将代码缩进至少8个空格(而不是通常的4个)documentStore。Initialize
未运行!谢谢,@FitzchakYitzchaki你帮我找到了解决办法。写一个答案,我会批准的@Ridermandsousabarbosa您能否更新您如何更改代码以使其正常工作?是否确实调用了documentStore.Initialize
?如果在项目符号列表中发布代码片段,则需要将代码缩进至少8个空格(而不是通常的4个)documentStore.Initialize
未运行!谢谢,@FitzchakYitzchaki你帮我找到了解决办法。写一个答案,我会批准的@RidermandeSousaBarbosa你能更新一下你是如何修改代码的吗?我已经做了修改var documentStore=new embeddedabledocumentstore{DataDirectory=“~/App\u Data”,useebeddedHttpServer=true}
一开始确实很好,但作为对URLI的一种尝试,我还是做出了改变var documentStore=new embeddedabledocumentstore{DataDirectory=“~/App\u Data”,useebeddedHttpServer=true}
一开始确实很好,但作为一种尝试,你是如何解决它的呢?我也有同样的问题,对我的MVC应用程序的第一个请求有效,之后raven studio接管了该应用程序:)那么你是如何解决它的?我也有同样的问题,对我的MVC应用程序的第一个请求起作用,然后raven studio接管该应用程序:)
private static void RegisterServices(IKernel kernel)
{
kernel.Load(new RavenDBNinjectModule());
}