Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 403-禁止:成功部署web后拒绝访问_Asp.net_.net_Iis_Web Deployment_Msdeploy - Fatal编程技术网

Asp.net 403-禁止:成功部署web后拒绝访问

Asp.net 403-禁止:成功部署web后拒绝访问,asp.net,.net,iis,web-deployment,msdeploy,Asp.net,.net,Iis,Web Deployment,Msdeploy,我使用WebDeploy 3将MVC 5应用程序部署到运行在Windows 2012 R2上的IIS。一切正常,但有时在成功部署后我会遇到403-禁止:从浏览器访问站点时拒绝访问错误。回收游泳池解决了这个问题,但这不是一个合适的选择。我希望在WebDeploy完成文件更新后,IIS会自动回收池 .......... Info: Updating file (blabla\Web.config). Info: Adding ACL's for path (blabla.com) Info: Add

我使用WebDeploy 3将MVC 5应用程序部署到运行在Windows 2012 R2上的IIS。一切正常,但有时在成功部署后我会遇到403-禁止:从浏览器访问站点时拒绝访问错误。回收游泳池解决了这个问题,但这不是一个合适的选择。我希望在WebDeploy完成文件更新后,IIS会自动回收池

..........
Info: Updating file (blabla\Web.config).
Info: Adding ACL's for path (blabla.com)
Info: Adding ACL's for path (blabla.com)
Total changes: 22 (0 added, 0 deleted, 22 updated, 0 parameters changed, 1314018 bytes copied)
为什么??如何解决该问题


Windows事件日志(应用程序、安全、WebDeploy或IIS)中没有警告或错误。该站点使用InProc会话,目标为.NET 4.5,应用程序池具有默认设置(在ApplicationPoolIdentity下运行)。IIS身份验证仅启用匿名和表单模块。

这似乎是一个与托管权限相关的问题。 检查文件夹是否已将网络服务添加为角色,并检查iusr 一般来说,就我个人经验而言,角色和权限是一个难题。
如果无法检查,请向主机提供商询问以检查角色

您是否尝试在web.config中的
上添加
runAllManagedModulesForAllRequests=“true”
?我以前遇到过这个问题,这一直都能解决它


我今天刚刚经历了这件事。。。我花了好几个小时绞尽脑汁,尝试着在SO上提供的各种解决方案

我正在使用Visual Studio 2017社区。。。我正在部署到Windows Server 2012 R2和Windows Server 2016

唯一适合我的解决方案是在发布期间取消选中
预编译设置


我无法理解为什么会有这种不同。

MsDeploy显式地为ApplicationPoolIdentity(相当于NETWORKSERVICE)设置NTFS权限(“为路径添加ACL”)。我拥有服务器的管理员访问权限,因此可以检查所有内容,但不知道查看何处。我知道应该这样做,但在某些情况下(我的旧服务器)可能会发生这种情况,有时不会发生。在这种情况下,您可以尝试以下操作:通过rdp、IIS登录,在域上单击鼠标右键,然后单击“编辑权限”。检查启用了哪些角色以及它们具有哪些权限。谢谢,下次出现此问题时将执行此操作!不幸的是,我不能允许这种设置(静态内容将通过.net管道),但感谢您提供有趣的链接!这就是今天发生在我身上的…,你还记得解决办法是什么吗?我正要开始拉扯头发:)为什么会这样?非常感谢你,你不知道在我找到这个之前我做了多少搜索。“发布期间预编译”听起来是个好主意。。。我想这是最近的一个破损,我在更新我在2017年制作的一个应用程序,这个选项一直都被选中;这以前从来都不是个问题。