ASP.net web.config ошибка «Ошибка использовать раздел, зарегистрированный как allowDefinition = 'MachineToApplication' за пределами уровня приложения» - PullRequest
0 голосов
/ 26 марта 2012

Этот вопрос уже задавался, но я выполнил все шаги, перечисленные в ответах, и все еще получаю ту же ошибку.

У меня есть IIS 6.0 на Windows Server 2003. Я создал подпапку в папке wwwroot, содержащую мой файл web.config, файлы .cs, html и aspx. Я использовал IIS Manager, чтобы настроить подпапку как приложение. Все работало нормально 2 месяца назад. С тех пор я был занят другими проектами, и у меня не было времени для этого.

Теперь я вернулся, чтобы завершить проект, но я получаю сообщение об ошибке (ссылаясь на строку в файле web.config: Ошибка использовать раздел, зарегистрированный как allowDefinition = 'MachineToApplication' за пределами уровня приложения.

Для подтверждения: 1. В этой конкретной папке нет подпапок с файлом web.config. В родительской папке также нет файла web.config. 2. Подпапка указана как приложение (IIS> Веб-сайты> (мой сайт)> Свойства> Домашний каталог> Настройки приложения)

Все мои файлы были закодированы в текстовом редакторе и работали до недавнего времени ...

Есть ли другие возможные проблемы?

Если это помогает, в настоящее время на том же IP-адресе размещается другой сайт, который находится в его собственной подпапке в разделе wwwroot. Этот второй сайт имеет собственный файл web.config и работает без проблем.

Если это поможет, вот мое содержимое файла web.config (комментарии удалены):

<configuration>

<appSettings>
    <add key="UserMustChangePasswordAtNextLogon" value="true"/>
    <add key="UnlockAccountWhenResettingPassword" value="true"/>
    <add key="DefaultPassword" value=""/>
</appSettings>
<connectionStrings/>
<system.web>
    <compilation debug="true" urlLinePragmas="true">
        <assemblies>
            <add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        </assemblies>
    </compilation>

    <authentication mode="Windows"/>
    <identity impersonate="false"/>
    <authorization>
      <deny users="?" />
    </authorization>
    <customErrors mode="Off"/>

    <pages>
        <controls>
            <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        </controls>
    </pages>
    <httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false"  type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
    </httpHandlers>
    <httpModules>
        <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </httpModules>

    <webServices>
        <protocols>
            <add name="HttpGet"/>
            <add name="HttpPost"/>
        </protocols>
    </webServices>
</system.web>



<system.codedom>
</system.codedom>

<system.webServer>
</system.webServer>
</configuration>

Ответы [ 2 ]

0 голосов
/ 27 марта 2012

Я взял ваш контент web.config и просто удалил тег deny users. У меня работает web.config.

Попробуйте создать другое приложение и разместить его в IIS. Посмотри, работает ли это. Если это так, скопируйте все файлы из существующей папки в новую папку приложения.

0 голосов
/ 26 марта 2012

Если вы предварительно компилируете свои представления, у вас может возникнуть эта проблема. Очистите решение, чтобы устранить проблему (вам может даже понадобиться грубое удаление папок bin и obj).

Конечно, вы строите свое решение ПОСЛЕ того, как его очищаете. :)

...