What is the point of having App_code
& App_data
folders?
Why doesn't my objectDataSource detect classes unless files are in App_Code?
Please provide as much detail as you can, I'm new to ASP.Net
These folders have special purpose. From this article - ASP.NET Web project folder structure.
App_Code
App_Code contains source code for shared classes and business objects (for example, ..cs, and .vb files) that you want to compile as part of your application. In a dynamically compiled Web site project, ASP.NET compiles the code in the App_Code folder on the initial request to your application. Items in this folder are then recompiled when any changes are detected.
Note : You can add any type of class file to the App_Code folder in order to create strongly typed objects that represent those classes. For example, if you put Web service files (.wsdl and .xsd files) in the App_Code folder, ASP.NET creates strongly typed proxies for those classes.
Code in the App_Code folder is referenced automatically in your application. The App_Code folder can contain sub-directories of files, which can include class files that in different programming languages.
App_Data
Contains application data files including .mdf database files, XML files, and other data store files. The App_Data folder is used by ASP.NET to store an application's local database, such as the database for maintaining membership and role information.
To sum it up :
- IIS will NEVER serve any file located in those folders (the same way it will not ever serve the Web.config file)
- files in the
App_Code
folder will automatically be recompiled when a change occurs in the code.
They're mainly used with the Website template. Use the ASP.NET project template instead and avoid using these folders, especially if you are creating libraries or user controls.
http://www.codersbarn.com/post/2008/06/01/ASPNET-Web-Site-versus-Web-Application-Project.aspx
来源:https://stackoverflow.com/questions/7480437/asp-net-app-data-app-code-folders