Ada*_*dam 2 asp.net iis web-config virtual-directory
我想在一个应用程序中管理两个web.config文件,一个用于前端用户,另一个用于后端(admin)user.for admin部分我在同一个网站中创建了一个名为admin的文件夹.后续的settiongs是在admin/web.config中
当我尝试运行该应用程序时,我收到以下错误消息:
在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的.此错误可能是由于未在IIS中将虚拟目录配置为应用程序引起的
下面讨论了相同的问题 ASP.NET是什么原因:使用注册为allowDefinition ='MachineToApplication'的部分超出应用程序是错误的?
在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的
请给我一些解决这个问题的建议.提前致谢
当我在另一个Web应用程序中有一个Web应用程序导致两个Web.config文件时,我遇到了同样的问题.我删除了一个,问题解决了.由于子级别中的配置设置可以覆盖父级别中的配置设置,因此当您有2个web.config文件时,如果重新定义了无法覆盖的配置设置(如身份验证或会话状态),则会发生此错误.如果您可能在较低级别的web.config以及更高级别的web.config中设置了身份验证/会话状态,则会出现问题
小智 5
有大量关于在 IIS 中获取此错误的信息。我在这样的问题上花了几个小时,因为从来没有一个明确的答案。
你会听到这样的话
这意味着如果您有应用程序,则不应在子目录中的 web.config 中配置 MachineToApplication 设置。
您所要做的就是在应用程序的根目录中设置 MachineToApplication 设置,它们将在子目录中继承。
解决方案 :
在应用程序的根目录中配置所有 MachineToApplication 设置,并从应用程序的子目录中删除所有 MachineToApplication 设置。
所有答案都没有提到的是,IIS 中的任何文件都有无数的文件权限、安全性等。
它曾经更容易,但随着扩散的增加,它变得越来越复杂。
我有一个我使用的解决方案让我的 IIS 工作 -
第一。在新的 Web 应用程序中测试一个简单的 HTML 页面。如果你可以让它工作,那么你应该对接下来的步骤有好处。
第二。当您考虑引发此问题的问题时,您的框架的 E:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG 目录中有一个 Machine.config 文件。
这是设置 AllowedDefinitions 类型的文件。(在配置文件中查找)allowDefinition="MachineToApplication" 或 allowDefinition="Machine"
当有人说你必须把你的 web.config 放在你的应用程序“根”文件夹中时,取决于你的应用程序是如何设置的,将决定放置 web.config 的位置。
为了让我的工作,我把它放在 E:\Inetpub\wwwroot 文件夹中。
第三。您必须测试哪些部分要包含在 config 根文件夹中,哪些部分可以放在各种 Web“应用程序”文件夹中。
4. 这是一项正在进行中的工作,但我想在我工作的同时把它拿出来,它在我的脑海中是新鲜的......
当我解决更多问题时,我会稍后发布更多内容。
我计划稍后在我破译所有神秘的、故意未记录的、有时会引起误导的有关配置问题的信息等时发布一个非常详细的解释,以使 IIS 正常运行。
IE。我厌倦了试图让它正常运行的黑客攻击,但我想彻底测试系统并记录,确切地需要做什么,以及为什么,让应用程序快速启动和运行......
感谢您阅读本文。