significado example ejemplos componentes wcf

example - HTTP no pudo registrar la URL http://+: 8000/HelloWCF/. Su proceso no tiene derechos de acceso a este espacio de nombres



wcf vs web api (9)

Cerré Visual Studio IDE y lo volví a abrir haciendo clic con el botón derecho en el icono de Visual Studio y diciendo "Ejecutar como administrador". Luego, cuando ejecuté el host, funcionó.

Soy un principiante en WCF, pero trato de mejorar mi experiencia. Y en el primer paso, enfrenté el problema. Creé el servicio WCF más simple. La lista del código: (todo el código en un archivo)

using System; using System.ServiceModel; namespace EssentialWCF { [ServiceContract] public interface IStockService { [OperationContract] double GetPrice(string ticker); } public class StockService : IStockService { public double GetPrice(string ticker) { return 94.85; } } class Service { static void Main(string[] 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(); } } }

Ese sería el servicio que me da un número a través de la consola. Pero depurar me da la excepción: (en lugar de número :))

HTTP no pudo registrar la URL http://+:8000/HelloWCF/ . Su proceso no tiene derechos de acceso a este espacio de nombres (consulte http://go.microsoft.com/fwlink/?LinkId=70353 para obtener más información).

¿Alguna vez has enfrentado la misma situación? Estaré contento de ver todos los consejos.


Cierre iis express y todos los navegadores (si la url se abrió en cualquiera de los navegadores). También abra el estudio visual IDE en modo de administrador. Esto ha resuelto mi problema.


En Windows Vista y más adelante, el material del servicio HTTP WCF causaría la excepción que mencionó porque una cuenta restringida no tiene derecho para eso. Esa es la razón por la que funcionó cuando lo ejecutó como administrador.

Cada desarrollador sensato debe usar una cuenta RESTRINGIDA en lugar de como administrador, sin embargo, muchas personas van por el camino equivocado y es precisamente por eso que hay tantas aplicaciones por ahí que EXIGEN permisos de administrador cuando en realidad no son necesarios. Trabajar de manera perezosa da como resultado soluciones perezosas. Espero que todavía trabajes en una cuenta restringida (mis felicitaciones).

Existe una herramienta (desde 2008 más o menos) llamada NamespaceManagerTool si recuerdo correctamente que se supone que otorga los permisos de usuario restringido en estas URL de servicio que define para WCF. No he usado eso sin embargo ...


Haga clic derecho en Visual Studio> Ejecutar como administrador> Abra su proyecto y ejecute el servicio. Este es un problema relacionado con el privilegio.


Lamentablemente, el enlace en el texto de excepción, http://go.microsoft.com/fwlink/?LinkId=70353 , está roto. Sin embargo, solía conducir a http://msdn.microsoft.com/en-us/library/ms733768.aspx que explica cómo establecer los permisos.

Básicamente le informa que use el siguiente comando:

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

Puede obtener más ayuda sobre los detalles usando la ayuda de netsh

Por ejemplo: netsh http add ?

Da ayuda sobre el comando http add .


Lo más simple que tiene que hacer es cerrar su entorno de Visual Studio y abrirlo nuevamente usando ''Ejecutar como administrador''. Ahora debería ejecutarse con éxito.


Si bien pude resolver este problema en una computadora siguiendo las otras soluciones de los usuarios, el comando netsh no resolvió el problema en una de mis máquinas y, aunque el usuario actual tenía derechos de administrador, todavía recibía el mensaje "HTTP no se pudo registrar". URL ... Su proceso no tiene derechos de acceso a este espacio de nombres ". Por lo tanto, estoy compartiendo mi solución en caso de que todavía no lo haga funcionar con las otras soluciones.

Después de intentar otorgar permisos de escritura al usuario en el directorio físico de mi sitio web y no tener éxito, finalmente decidí intentar cambiar la configuración de IIS .

Como muestran las imágenes a continuación, configuré las Credenciales de ruta física de mi sitio web para conectarme como un usuario específico, que era una cuenta de administrador con DOMINIO / nombre de usuario y contraseña, y esto fue suficiente para hacer que el error desapareciera.


Su código de muestra no funcionará como se muestra porque olvidó incluir Console.ReadLine() antes de la línea serviceHost.Close() . Eso significa que el host se abre y luego se cierra de inmediato.

Aparte de eso, parece que tienes un problema de permiso en tu máquina. Asegúrese de haber iniciado sesión como cuenta de administrador en su máquina. Si usted es un administrador, entonces es posible que no tenga el servicio de publicación World Wide Web (W3SVC) en ejecución para manejar las solicitudes HTTP.


Usted necesita algún privilegio de administrador para su cuenta si su máquina en la red de área local le aplica algún privilegio de administrador a su usuario; de lo contrario, debería comenzar ide como administrador ...