ServiceHost lancer une erreur, même si ajouté à la configuration avec netsh
-
05-10-2019 - |
Question
ServiceHost.Open()
est de lancer cette erreur:
HTTP ne pourrait pas enregistrer URL http: // +: 8001 / . Votre processus n'a pas les droits d'accès à cet espace de noms (voir http://go.microsoft.com/fwlink/?LinkId=70353 pour plus de détails ).
J'utilisé netsh pour ajouter l'URL. Mais l'événement mais il est ajouté, je reçois toujours l'erreur. Ceci est l'utilisation commande I:
netsh http add urlacl url=http://+:8001/ user=djerryy
djerryy
est mon computername. Quand je lance netsh http montrer urlacl je le vois a été ajouté.
Qu'est-ce que je fais mal?
Merci à l'avance.
La solution
Il semble que vous manquez le nom du compte utilisateur qui exécute le service. Voici quelques options:
- compte utilisateur local:
netsh http add urlacl url=http://+:8001/ user=ComputerName\Username
- compte utilisateur de domaine:
netsh http add urlacl url=http://+:8001/ user=DomainName\Username
- intégré NetworkService:
netsh http add urlacl url=http://+:8001/ user="NT AUTHORITY\NETWORK SERVICE"
Autres conseils
Je dois souligner:
netsh http add urlacl url=http://+:8001/ user="NT AUTHORITY\NETWORK SERVICE"
ne fonctionnera que sur un système avec les paramètres régionaux anglais!
Une meilleure façon est de supprimer qu'un espace et le rendre:
netsh http add urlacl url=http://+:8001/ user="NT AUTHORITY\NETWORKSERVICE"
Maintenant, la commande fonctionne sur tous les paramètres régionaux. J'ai passé une bonne 0,5h battre aujourd'hui ... parce que d'un seul omble chevalier. ;)
Pour ajouter encore plus à cette réponse: Vous MUST spécifier un numéro de port! Passez un bon moment en essayant d'autoriser un service à lier à une adresse HTTP normale, il a commencé à travailler seulement quand je explicitement spécifié:
netsh http add urlacl
url=http://some.example.com:80/extension/
user="NT AUTHORITY\NETWORKSERVICE"