有没有一种方法可以在 ASP.net WebForms 中的 web.config 模块标记处删除 "runAllManagedModulesForAllRequests" 而不会丢失其功能?

Is the a way to remove the "runAllManagedModulesForAllRequests" at web.config module tag in ASP.net WebForms without losing it's functionality?

所以,我有一个 webforms asp.net 应用程序,我编译了它的所有代码,基本上没有在文件夹中留下任何文件,除了“bin”文件夹和“web.config”文件。所有页面、处理程序和其他一切实际上都是由 HttpApplication 实现提供的,甚至是图像和其他资源。

为此,我使用完整的合并选项进行发布,我只需要将“运行AllManagedModulesForAllRequests”标签保留在 web.config 即可。

所以我的问题是;有什么我可以在代码端实现的,以允许相同的结果并从 web.config 中删除该标签吗?是否有可能根本没有 web.config 模块标记,并且仍然 运行 所有请求都通过托管代码?

这是不可能的。这完全是一个 IIS 设置,因此您无法将其移动到您的代码中。

但是,如果您还拥有 IIS 服务器配置,则可以将此设置移动到 location 标记中的 applicationHost.config,而不是 Web 应用程序的 web.config,这样让后者像你希望的那样干净。