Это ошибка-использовать раздел, зарегистрированный как allowdefinition='machinetoapplication' за пределами уровня приложения
у меня есть несколько папок в моем кабинете. asp.net проект, который каждый должен иметь один файл web.config, но получить ошибку: это ошибка использовать раздел, зарегистрированный как allowDefinition='MachineToApplication' за пределами уровня приложения
и я определил состояние сеанса в каждом файле web .config.
в этой части получилась ошибка:
<sessionState timeout="3" cookieless="AutoDetect"/> <authentication mode="Forms"> <forms cookieless="AutoDetect" defaultUrl="~/Pages/Main_Page.aspx" loginUrl="Login.aspx" timeout="5" slidingExpiration="true" requireSSL="false" protection="All"/> </authentication> <authorization> <allow users="*"/> </authorization> <httpRuntime /> </system.web> <location path="LogOut.aspx"> <system.web> <httpRuntime requestValidationMode="2.0"/> <authorization> <deny users="?"/> </authorization> </system.web> </location>
Что я уже пробовал:
я читал какую-то статью, но не знаю, как это сделать!!!!!
ZurdoDev
В каждой папке должна быть определена в IIS как приложение, потому что вы можете иметь только один веб.конфиг для каждого сайта ASP.NET .
OriginalGriff
Это оказывается не так: у вас может быть несколько файлов web.config - по одному на папку - которые переопределяют настройки в "более высоких" версиях. Например, папка "только для администратора" может иметь файл web.config, который ограничивает доступ "обычных пользователей", или страницы входа в систему могут находиться в папке с "открытым доступом" web.config и т. д. Вполне нормально иметь файл web.config для каждой папки, который точно указывает, кому разрешен вход.
Однако некоторые элементы web.config разрешены только на "корневом" уровне, и, вероятно, именно в этом заключается его проблема.
MadMyche
Неважно, что Visual Studio 2010 создаст 2 файла web.config для нового проекта MVC; один для фактического приложения, а второй находится в папке Views, чтобы блокировать навигацию к нему (в интернете)