HTTP n’a pas pu enregistrer l’URL http: // +: 8000 / HelloWCF /. Votre processus n’a pas de droits d’access à cet espace de noms

Je suis débutant dans la WCF, mais j’essaie d’améliorer mon expérience. Et sur la première étape, j’ai rencontré le problème. J’ai créé le service WCF le plus simple. La liste du code: (tout le code dans un fichier)

using System; using System.ServiceModel; namespace EssentialWCF { [ServiceContract] public interface IStockService { [OperationContract] double GetPrice(ssortingng ticker); } public class StockService : IStockService { public double GetPrice(ssortingng ticker) { return 94.85; } } class Service { static void Main(ssortingng[] args) { ServiceHost serviceHost = new ServiceHost(typeof(StockService), new Uri("http://localhost:8000/HelloWCF")); serviceHost.AddServiceEndpoint(typeof(IStockService), new BasicHttpBinding()); serviceHost.Open(); Console.WriteLine("To continue press ENTER"); serviceHost.Close(); } } } 

Ce serait le service qui me donne un numéro via la console. Mais le debug me donne l’exception: (au lieu du nombre :))

HTTP n’a pas pu enregistrer l’URL http: // +: 8000 / HelloWCF / . Votre processus n’a pas de droits d’access à cet espace de noms (voir http://go.microsoft.com/fwlink/?LinkId=70353 pour plus de détails).

Avez-vous déjà fait face à la même situation? Je serai heureux de voir tous les conseils.

Malheureusement, le lien dans le texte de l’exception, http://go.microsoft.com/fwlink/?LinkId=70353 , est rompu. Cependant, il a été utilisé pour accéder à http://msdn.microsoft.com/en-us/library/ms733768.aspx, qui explique comment définir les permissions.

Il vous informe essentiellement d’utiliser la commande suivante:

netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user

Vous pouvez obtenir plus d’aide sur les détails à l’aide de netsh

Par exemple: netsh http add ?

Donne de l’aide sur la commande http add .

J’ai fermé Visual Studio IDE et l’ai rouvert en cliquant droit sur l’icône de Visual Studio et en disant “Exécuter en tant qu’administrateur”, puis quand j’ai couru l’hôte, ça a fonctionné !!!

Vous avez besoin de privilèges d’administrateur sur votre compte si votre machine sur le réseau local, puis vous appliquez des privilèges d’administrateur à votre utilisateur sinon vous devez démarrer ide en tant qu’administrateur …

La chose simple que vous devez faire est de fermer votre environnement Visual Studio et de l’ouvrir à nouveau en utilisant «Exécuter en tant qu’administrateur». Il devrait maintenant fonctionner avec succès.

Cliquez avec le bouton droit sur Visual Studio> Exécuter en tant qu’administrateur> Ouvrez votre projet et exécutez le service. C’est un problème lié au privilège.

Dans Windows Vista et les versions ultérieures, les éléments du service HTTP WCF provoqueraient l’exception que vous avez mentionnée car un compte restreint n’est pas adapté à cela. C’est la raison pour laquelle cela a fonctionné lorsque vous l’avez exécuté en tant qu’administrateur.

Chaque développeur sensé doit utiliser un compte RESTRICTED plutôt qu’en tant qu’administrateur, mais beaucoup de gens vont dans le mauvais sens et c’est précisément pour cette raison qu’il ya tellement d’applications là-bas qui DEMANDENT des permissions d’administration quand elles ne sont pas vraiment requirejses. Travailler de manière paresseuse aboutit à des solutions paresseuses. J’espère que vous travaillez toujours dans un compte restreint (mes félicitations).

Il existe un outil (à partir de 2008) appelé NamespaceManagerTool si je me souviens bien, qui est censé accorder les permissions utilisateur restreintes sur ces URL de service que vous définissez pour WCF. Je n’ai pas utilisé ça si …

Votre exemple de code ne fonctionnera pas comme indiqué, car vous avez oublié d’inclure Console.ReadLine() avant la ligne serviceHost.Close() . Cela signifie que l’hôte est ouvert puis fermé immédiatement.

À part cela, il semble que vous ayez un problème de permission sur votre machine. Assurez-vous d’être connecté en tant que compte administrateur sur votre ordinateur. Si vous êtes administrateur, il se peut que le service de publication World Wide Web (W3SVC) ne soit pas en cours d’exécution pour gérer les requêtes HTTP.

Fermez iis express et tous les navigateurs (si l’URL a été ouverte dans l’un des navigateurs). Ouvrez également le studio IDE visuel en mode admin. Cela a résolu mon problème.

Alors que je pouvais résoudre ce problème sur un ordinateur en suivant les autres solutions, la commande netsh ne résout pas le problème sur l’un de mes ordinateurs et même si l’utilisateur actuel possède des droits d’administrateur, le “HTTP ne peut pas être enregistré URL …. Votre processus n’a pas de droits d’access à cet espace de noms “. Je partage donc ma solution au cas où vous ne l’utiliseriez toujours pas avec les autres solutions.

Après avoir également essayé de donner des permissions d’écriture à l’utilisateur dans le répertoire physique de mon site Web et de ne pas réussir, j’ai finalement décidé d’essayer de modifier les parameters d’IIS .

Comme le montrent les images ci-dessous, j’ai configuré les informations d’ identification du chemin physique de mon site Web pour qu’il se connecte en tant qu’utilisateur spécifique, qui était un compte administrateur avec DOMAIN \ nom d’utilisateur et mot de passe, suffisant pour que l’erreur disparaisse.

entrer la description de l'image ici

entrer la description de l'image ici

entrer la description de l'image ici