RavenDB不断收到503 Service Unavailable错误

时间:2017-02-03 02:54:20

标签: c# ravendb

我使用RavenDB 3天,它工作正常且完美。直到昨天,突然它总是返回一个错误:

  

{StatusCode:503,ReasonPhrase:'服务不可用',版本:1.1,   内容:,标题:{}} System.Net.Http.HttpResponseMessage

Raven Studio还显示503 Service Unavailable。我在 IIS 中安装了RavenDB。我设法使用此命令清除端口:

netsh http delete urlacl http://*:8080/

我可以打开Raven Studio了。一旦我重新运行我的项目,它会再次显示503错误,而Raven Studio也会再次显示503 Service Unavailable。

所以,我卸载使用 Windows服务重新安装 RavenDB。并显示相同的错误,除了Raven Studio不再影响。

当我调试代码时,错误来自 session.SaveChanges()方法。我甚至尝试创建一个要保存的简单对象,并仍然返回相同的错误503 消息。以下是控制台中显示的内容:

Trying to grant rights for http.sys
runas netsh http add urlacl url=http://+:8080/ user="SURFPRO4\Riza"
Failed to grant rights for listening to http, exit codes: (0 and 0)

所以,我怀疑是因为最后一条消息:

  

失败授予侦听http,退出代码的权限:(0和0)

我不明白的是,3天没事,因为我没有更改或更新任何相关的代码。

添加代码

NonAdminHttp.EnsureCanListenToWhenInNonAdminContext(8080);
Store = new DocumentStore
{
    Url = "http://localhost:8080",
    DefaultDatabase = "RizaDB"
};
Store.Initialize();

并保存:

using (var session = Store.OpenSession())
{
    session.Store(@event);
    session.SaveChanges(); // <--- The error trips here
}

的Fiddler

enter image description here

我将端口更改为32000并且可以正常工作。但是,当我运行项目时,它会在每次想要保存数据时转储它。

Trying to revoke rights for http.sys
runas netsh http delete urlacl url=http://+:32000/
Trying to grant rights for http.sys
runas netsh http add urlacl url=http://+:32000/ user="SURFPRO4\Riza"
Failed to grant rights for listening to http, exit codes: (0 and 0)
Trying to revoke rights for http.sys
runas netsh http delete urlacl url=http://+:32000/
Trying to grant rights for http.sys
runas netsh http add urlacl url=http://+:32000/ user="SURFPRO4\Riza"
Failed to grant rights for listening to http, exit codes: (0 and 0)

任何人都可以帮我解决这个问题。非常感谢。

0 个答案:

没有答案