Pregunta

ServiceHost.Open() está lanzando este error:

HTTP no se pudo registrar la URL http: // +: 8001 / . Su proceso no tiene derechos de acceso a este espacio de nombres (véase http://go.microsoft.com/fwlink/?LinkId=70353 para más detalles ).

Así que utiliza netsh para añadir la URL. Pero evento a pesar de que se añade, todavía estoy recibiendo el error. Este es el uso de comandos I:

netsh http add urlacl url=http://+:8001/ user=djerryy

djerryy es mi nombre de equipo. Cuando corro netsh http mostrar urlacl veo que se añadió.

¿Qué estoy haciendo mal?

Gracias de antemano.

¿Fue útil?

Solución

Parece que se echa en falta el nombre de la cuenta de usuario que está ejecutando el servicio. Aquí hay un par de opciones:

  • cuenta de usuario local:
netsh http add urlacl url=http://+:8001/ user=ComputerName\Username
  • cuenta de usuario de dominio:
netsh http add urlacl url=http://+:8001/ user=DomainName\Username
  • incorporado en cuenta NetworkService:
netsh http add urlacl url=http://+:8001/ user="NT AUTHORITY\NETWORK SERVICE"

Otros consejos

Debo subrayar:

netsh http add urlacl url=http://+:8001/ user="NT AUTHORITY\NETWORK SERVICE"

sólo funcionará en un sistema con la configuración regional Inglés!

Una mejor manera es eliminar el espacio que uno y que sea:

netsh http add urlacl url=http://+:8001/ user="NT AUTHORITY\NETWORKSERVICE"

Ahora el comando funcionará en cualquier localidad. Pasé un buen 0,5h luchando contra esto hoy ... todo por culpa de un solo carbón. ;)

To add even more to this answer: You MUST specify a port number! Spend quite a while trying to authorize a service to bind to a normal HTTP address, it only started working when I explicitly specified:

netsh http add urlacl 
    url=http://some.example.com:80/extension/ 
    user="NT AUTHORITY\NETWORKSERVICE"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top