HTTP could not register URL http://+:8080/ Your process does not have access rights to this namespace

If you’re getting an exception along the lines of “HTTP could not register URL http://+:8080/. Your process does not have access rights to this namespace” whilst writing a WCF web service on Vista or Windows 7 then take a visit to PaulWh’s Tech Blog and download his HttpNamespaceManager.

Just add the url along the lines of http://+8080/ (or whatever port you’re using). Then added group or users (for example BUILTIN\Users and NT AUTHORITY\LOCAL SERVICE) and assign GenericExecute access to them.

This works whilst running within Visual Studio as well as running a standalone EXE.

If you prefer a more hardcore approach then run netsh as admin, either typing

netsh http add urlacl url=http://+:8080/MyService/ user=DOMAIN\user

or you can run netsh (again as admin) and then enter the command

http add urlacl url=http://+:8080/MyService/ user=DOMAIN\user

netsh works like a folder structure, to equally you can type http followed by enter to enter the http section and enter everything after the http section of the command line.

To view the currently set up urlacl’s simple type

netsh http show urlacl