原因,没权限
这个问题是因为在Vista,server 2008,Win7等操作系统中,http地址是归一个叫做http.sys的核心驱动管理的。当你想http.sys发出请求时,是需要注册这个http命名空间的,这是一个需要特权(管理员权限)的操作。
所以当你使用管理员登陆时,这个异常一般不会发生,当你使用其他用户(哪怕只是管理员组成员)时,就需要“以管理员身份”打开命令提示符窗口,并输入:
netsh http add urlacl url=http://+:8080/ user=<你的用户名>
上面的:8080端口根据你实际的端口输入,user=后面直接输入你当前登陆的用户名。
或者,
可能是你的VS没有用管理员身份启动。或是生成后的WCF程序没有用管理员身份启动,改成管理员身份启动就可以解决这个问题(当您的系统是Win7或是VISTA的时候,会出现这种情况)