ASP.Net - папки App_Data & App_Code? - PullRequest
       41

ASP.Net - папки App_Data & App_Code?

26 голосов
/ 20 сентября 2011

Какой смысл иметь папки App_code & App_data?

Почему мой objectDataSource не обнаруживает классы, если файлы не находятся в App_Code?

Пожалуйста, предоставьте как можно больше деталейможно, я новичок в ASP.Net

Ответы [ 3 ]

24 голосов
/ 20 сентября 2011

Подводя итог:

  • IIS НИКОГДА не будет обслуживать любой файл , расположенный в этих папках (так же, как он никогда не будет обслуживать файл Web.config)
  • файлы в папке App_Code будут автоматически перекомпилированы при изменении кода.
18 голосов
/ 20 сентября 2011

Эти папки имеют специальное назначение. Из этой статьи - Структура папок веб-проекта ASP.NET.

App_Code


App_Code содержит исходный код для общих классов и бизнес-объектов (например, ..cs и .vb), которые вы хотите скомпилировать как часть вашего приложения. В динамически скомпилированном проекте веб-сайта ASP.NET компилирует код в папке App_Code при первоначальном запросе к вашему приложению. Элементы в этой папке затем перекомпилируются при обнаружении любых изменений.

Примечание. Вы можете добавить любой тип файла класса в папку App_Code, чтобы создать строго типизированные объекты, представляющие эти классы. Например, если вы поместите файлы веб-службы (файлы .wsdl и .xsd) в папку App_Code, ASP.NET создаст строго типизированные прокси для этих классов.

Код в папке App_Code автоматически указывается в вашем приложении. Папка App_Code может содержать подкаталоги файлов, которые могут включать файлы классов на разных языках программирования.

App_Data


Содержит файлы данных приложения, включая файлы базы данных .mdf, файлы XML и другие файлы хранилища данных. Папка App_Data используется ASP.NET для хранения локальной базы данных приложения, такой как база данных для поддержки информации о членстве и роли.

3 голосов
/ 20 сентября 2011

Они в основном используются с шаблоном сайта. Вместо этого используйте шаблон проекта ASP.NET и избегайте использования этих папок, особенно если вы создаете библиотеки или пользовательские элементы управления.

http://www.codersbarn.com/post/2008/06/01/ASPNET-Web-Site-versus-Web-Application-Project.aspx

...