Raven.Server.exe Не удалось предоставить права на прослушивание http
Я установил RavenDB 2.5.0 в качестве службы Windows. Когда я пытаюсь запустить Raven.Server.exe от имени администратора или нет, я получаю это:
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...
Есть идеи, что делать?
2 ответа
У меня была такая же проблема, когда я следовал разделу "Основные понятия" документации 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 Server в качестве службы Windows, не позволяя командной строке Raven.Server.exe получить доступ к нужному каталогу. Я только что открыл панель управления службами (меню Пуск -> services.msc) и остановил службу RavenDB. После этого запуск Raven.Server.exe из командной строки работал, как показано в документации.
Обратите внимание, что это выполняется на компьютере под управлением Windows 7 x64 Professional в режиме разработки с RavenDB 2.5.2851.
У вас нет прав доступа к порту 8080 или к папке базы данных. Если вы хотите запустить RavenDB в своей учетной записи, дайте себе разрешения для папки C:\RavenDB\Database\System
и запустите эту команду в консоли с повышенными правами:
netsh http add urlacl url = http: // +: 8080 /