I just started playing with WCF. I created a simple service with VS 2005 on Vista and everything worked fine. Then I tried to use the same example on the same machine but use VS “Orcas” instead of VS 2005. Ooops. I got AddressAccessDeniedException. Thanks to Google I was able to find this article by Amit Lale where he explains the reason why the service doesn’t have rights to
http://localhost:8000/ namespace and how to resolve this problem. Using his suggestion to use netsh utility, I was able to get rid of the exception. It also became very clear why it worked for VS 2005 and not VS “Orcas”. To be able to run VS 2005 on Vista I had to run VS 2005 as Administrator and when press Ctrl-F5 or F5 the service also ran as Administrator. However, you don’t need to run VS “Orcas” as an Administrator and the service of course runs as VS user that doesn’t have rights to listen to http port 8000.
I wonder how many security issues like this we’re going to have. Unfortunately security and convinience don’t go together and we have to learn how to live with this.