gpt4 book ai didi

asp.net-mvc - "You do not have permission to view this directory or page."仅在 Azure 上切换到生产环境后才出现错误

转载 作者:行者123 更新时间:2023-12-03 04:21:26 24 4
gpt4 key购买 nike

我有一个在 Azure 上运行的 Multi-Tenancy ASP.NET MVC 5 Web 应用程序。在成功部署到暂存后,我使用暂存插槽交换到生产环境。当我交换生产站点和暂存站点时会显示消息

You do not have permission to view this directory or page.

如果我在 kudu(或 ftp)中打开 web.config 并不进行任何更改保存,则消息将消失并且网站加载正常。如果我在舞台上这样做也是如此。交换期间发生了一些事情,导致两个 Web 应用程序无法正确加载。虽然存在该消息,但我可以导航到 html 文件,但任何 MVC 路由都会显示上面的权限消息。

我的设置注意事项

在交换之前,我会检查生产站点和临时站点是否正常运行。

交换时,我将源设置为暂存,将目标设置为生产。没有警告,一项设置​​在两个插槽中具有相同的值,并且两项新的源设置将应用于目标插槽。一个是连接字符串,另一个是 AppSetting。

默认文档在 web.config 中设置

其他适当的 web.config 设置已到位:

<modules runAllManagedModulesForAllRequests="true">

<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

但是考虑到网站在我重新保存 web.config 后就会加载,我认为 web.config 设置没有任何问题。

此问题是在将构建更改为将 View 预编译到单个 dll 后开始的。在站点根目录 PrecompiledApp.config 上生成一个新的配置文件

新的构建配置设置:

/p:PrecompileBeforePublish=true /p:UseMerge=true /p:SingleAssemblyName=AppCode

但同样,在初始构建和部署之后暂存加载。只有在交换之后才会出现问题。再说一次,如果我打开 web.config 并保存而不进行任何更改,问题就会得到纠正。

难道App Domain正在关闭但没有重新启动?我在这里缺少什么?

最佳答案

应用程序洞察模块会导致此问题。唯一的解决方法是从您的网络应用程序中完全删除应用程序洞察。

关于asp.net-mvc - "You do not have permission to view this directory or page."仅在 Azure 上切换到生产环境后才出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48356762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com