2014-02-10 76 views
5

我已将RavenDB 2.5.0安装为Windows服务。 当我尝试运行Raven.Server.exe作为管理员或不是我收到此:Raven.Server.exe无法授权收听http

Trying to revoke rights for http.sys 
runas netsh http delete urlacl url=https://+:8080/ 
Trying to grant rights for http.sys 
runas netsh http add urlacl url=http://+:8080/ user="Endri-PC\Endri" 
Failed to grant rights for listening to http, exit codes: (1 and 1) 
A critical error occurred while starting the server. Please see the exception de 
tails bellow for more details: 
System.InvalidOperationException: Could not write to location: C:\RavenDB\Databa 
se\System. Make sure you have read/write permissions for this path. ---> Microso 
ft.Isam.Esent.Interop.EsentFileAccessDeniedException: Cannot access file, the fi 
le is locked or in use 
    at Raven.Storage.Esent.TransactionalStorage.Initialize(IUuidGenerator uuidGen 
erator, OrderedPartCollection`1 documentCodecs) 
    --- End of inner exception stack trace --- 
    at Raven.Storage.Esent.TransactionalStorage.Initialize(IUuidGenerator uuidGen 
erator, OrderedPartCollection`1 documentCodecs) 
    at Raven.Database.DocumentDatabase..ctor(InMemoryRavenConfiguration configura 
tion, TransportState transportState) 
    at Raven.Server.RavenDbServer..ctor(InMemoryRavenConfiguration settings) 
    at Raven.Server.Program.RunServerInDebugMode(RavenConfiguration ravenConfigur 
ation, Boolean launchBrowser) 
    at Raven.Server.Program.RunInDebugMode(Nullable`1 anonymousUserAccessMode, Ra 
venConfiguration ravenConfiguration, Boolean launchBrowser, Boolean noLog) 
    at Raven.Server.Program.<>c__DisplayClass34.<InteractiveRun>b__1b() 
    at Raven.Server.Program.InteractiveRun(String[] args) 
    at Raven.Server.Program.Main(String[] args) 
Press any key to continue... 

任何想法,该怎么办?

回答

9

我只是有这个同样的问题,而我是在RavenDB文档节中的“基本概念”,与下面的输出:

C:\RavenDB>Raven.Server.exe 
Trying to grant rights for http.sys 
runas netsh http add urlacl url=http://+:8080/ user="User-PC\User" 
Failed to grant rights for listening to http, exit codes: (0 and 1) 
A critical error occurred while starting the server. Please see the exception details bellow for more details: 
System.InvalidOperationException: Could not write to location: C:\RavenDB\Data. 
Make sure you have read/write permissions for this path. ---> Microsoft.Isam.Esent.Interop.EsentFileAccessDeniedException: Cannot access file, the file is locked or in use 
<stack trace follows> 

问题是,RavenDB安装程序已经自动启动RavenDB服务器作为赢得dows服务,防止命令行Raven.Server.exe能够访问正确的目录。我刚刚打开了服务控制面板(开始菜单 - > services.msc)并停止了RavenDB服务。之后,从命令行启动Raven.Server.exe就像文档中演示的那样工作。

请注意,这是使用RavenDB 2.5.2851在开发模式下的Windows 7 x64 Professional计算机上运行的。

+0

对ravendb服务的适应是正确的建议。 – Jenan

+0

请注意,由于服务正在运行,您根本不需要运行控制台应用程序。只需使用localhost:8080打开浏览器,您将看到RavenDB数据库,所有这些数据库都按预期工作。 (默认为空) – pashute

0

您既无权访问端口8080,也无权访问数据库文件夹。如果你想在您的帐户中运行RavenDB,给自己的文件夹C:\RavenDB\Database\System权限和高架控制台运行此命令:

的netsh的http添加urlacl URL = HTTP:// +:8080/

+0

我已完全控制到我的帐户,管理员帐户仍然有它太,但仍是同样的错误...... – endri

+0

异常说,所使用的帐户不是管理员,但** Endri-PC \ Endri ** –

+0

再次,我给了我的帐户Endri-PC \ Endri的完整权限,也给管理员帐户,我也尝试在CMD上以管理员身份运行上面的命令,但仍然一样。 这些都是电脑知道的基本事情...... – endri