Visual Studio 2015. Failed to register URL for site access is denied IIS Express. Access denied 0x80070005
我在Visual Studio 2015中启用了SSL,以便在本地实现Facebook和Google登录。
我将项目属性的" Web"选项卡中的项目URL更改为https:// localhost:44300 /,并用RequireHttps属性装饰了控制器-ref @msdn。
本地一切正常。
我将设置恢复为HTTP来测试其他内容,这在尝试返回HTTPS时导致了一个问题。
我发现了这个问题,并尝试了几乎所有建议的解决方案。
错误详情:
Failed to register URL"url" for site"site" application"path".
Error description: Access is denied. (0x80070005).
我必须在DOS中发出此命令来解决VS 2015中的问题:
1 | netsh http add urlacl url=http://{ip_addr}:{port}/ user=everyone |
奇怪的是,仅当我将项目移至另一台PC时才需要。在原始PC上,我不需要它。
原来在Cayne的同一个问题线程上,这个答案非常正确,这使我想到了解决方案。
端口更改不起作用,因为位于VS2015特定的.vs文件夹中的applicationhost.config文件将Http和Https的旧端口绑定组合保留为默认设置。尝试使用Http时,无论我将端口更改为其他内容的次数(配置文件中只有大量新网站绑定都被阻塞),只要我想切换回SSL,它都会以第一个绑定组合结束。它抱怨的端口不能再注册。
一旦删除了第一个绑定组合,一切都很好。
我希望这会在将来对某人有所帮助。
转到C:\ Users {用户名} \ Documents \ IISExpress \ config并打开applicationhost.config文件。
在文档中搜索
1 2 3 4 5 6 7 8 | <site name="WebSite1" id="1" serverAutoStart="true"> <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\\WebSite1" /> </application> <bindings> <binding protocol="http" bindingInformation="*:8080:localhost" /> </bindings> </site> |
替换行
1 | <binding protocol="http" bindingInformation="*:{required_port_number}:*" /> |
我认为您甚至可以删除
然后重新启动IIS服务器(使用任务管理器删除所有与IIS服务器相关的操作,并转到C:\ Program Files \ IIS Express文件夹并运行iisexpress.exe:您可能需要以管理员身份运行)。
将打开一个控制台,如果一切顺利,将显示以下几行。
...
另外,在浏览器中检查所需的URL是否现在可以正常工作。
这是一个非常有用的资源...