2009-05-20 16 views
164

Recibo el siguiente error al seguir el tutorial de WCF.WCF ServiceHost derechos de acceso

HTTP no ha podido registrar la URL http://+:8000/ServiceModelSamples/Service/. Su proceso no tiene derechos de acceso a este espacio de nombres (vea http://go.microsoft.com/fwlink/?LinkId=70353 para más detalles).

¿Es esto algo causado por una restricción en Windows 7?

+0

posible duplicado de [HTTP no pudo registrar la URL http: // +: 8000/HelloWCF /. Su proceso no tiene derechos de acceso a este espacio de nombre] (http://stackoverflow.com/questions/8727293/http-could-not-register-url-http-8000-hellowcf-your-process-does-not-have) –

+0

Puede encontrar mucha información útil sobre este [blog] (http://blogs.msdn.com/b/paulwh/archive/2007/05/04/addressaccessdeniedexception-http-could-not-register-url-http -8080.aspx). Hey también proporciona una buena herramienta de GUI. – bob

Respuesta

172

El problema es que la dirección URL está siendo bloqueada por Windows.

Pasos para solucionar: Ejecute el símbolo del sistema como administrador. Añadir la URL a la ACL

netsh http add urlacl url=http://+:8000/ServiceModelSamples/Service user=mylocaluser 
+3

Me alegra que hayas solucionado eso. ¿Qué significaba el "+"? –

+0

Tengo la corazonada de que significa una IP local genérica. – Joshua

+10

Nota: casi tiene que ingresar url = http: // +: port/path exactamente. url = http: // address: port/path no funcionó para mí, como crees que podría ser. También tenga en cuenta que debe usar el servidor de red como su usuario ("NT AUTHORITY \ NETWORK SERVICE", si ese es el instalador de su servicio. –

92

Si está ejecutando a través del IDE, se ejecuta como administrador debería ayudar. Para ello, busque el icono de la aplicación Visual Studio 2008/10, haga clic con el botón derecho y seleccione "Ejecutar como administrador"

+20

No es realmente un Solución "mucho mejor" @Liam: los privilegios de administrador en un entorno de desarrollo en una configuración corporativa podrían otorgarle muchos más permisos para hacer cosas peligrosas. Una solución mucho más fácil, seguro, pero con la responsabilidad del poder ... – Unsliced

+2

La solución original también requiere ejecución como administrador o - concedido por un período de tiempo más pequeño, y por supuesto debe saber qué está haciendo desde un contexto de seguridad. –

+1

entonces, de todos modos para hacer esto sin privilegios de administrador? – Joset

1

Estoy trabajando en Windows Vista. Incluso me enfrenté al mismo problema, pero cuando traté de ejecutar VS 2008 con privilegios administrativos, el problema se resolvió y mi servicio se puso en funcionamiento. :)

32

Otra solución es utilizar la dirección de

http://localhost:8732/Design_Time_Addresses/YOUR_ADDRESS.

.NET Framework (3.5) registra automáticamente esta dirección (http: // *: 8732/Design_Time_Addresses) para el ámbito de depuración. Esto es útil cuando necesita alojar servicios dentro de Visual Studio para la depuración o prueba. No lo use en producción ...

+1

Algunos sitios se refieren al puerto 8731 en lugar de a 8732. –

+0

¿Debería funcionar esto de forma predeterminada en los servidores de compilación TFS también? –

+1

@DaviFiamenghi Siempre que se haya instalado .net 3.5, debería funcionar. Pero nunca lo intenté. Por lo general, considero que una prueba como esta es una prueba de integración, por lo que no la ejecuto en TFS, solo realizo pruebas unitarias en TFS. –

5

Abra Visual Studio como administrador. Se ejecutará.

+0

Me funcionó. Windows8; VS2012 – WinW

+0

Tuve el mismo problema con nunit-gui. Funcionó como administrador, todo bien. –

+0

Tengo el mismo problema en comparación con 2013 y ejecutar como administrador no funciona – ZoomVirus

0

por favor, abra su Visual Studio en modo de administración y pruébelo.

0

Ejecutar Visual Studio como administrador podría solucionar el problema, pero si utiliza Visual Studio con, por ejemplo, TortoiseSVN, no puede realizar ningún cambio. Otra posible solución sería ejecutar el servicio como administrador y el resto, Visual Studio como usuario local.

25

Usted símbolo del sistema abierto con el administrador y se escribe este texto:

netsh http add urlacl url=http://+:8000/ServiceModelSamples/Service user=Everyone 
+1

Gracias, esto funciona perfectamente para mí;) –

+0

De nada :) –

-1

favor abra su Visual Studio como administrador:

enter image description here

-2

En caso de conseguir este error al intentar iniciar un servicio de Windows, agregue el usuario del servicio de Windows al grupo de administradores (administración de la computadora -> usuarios y grupos locales -> grupos -> administradores -> agregue allí su usuario de Active Directory).

Cuestiones relacionadas