在Visual Studio中创建新的ASP.NET应用程序时,会自动创建几个文件和文件夹。其中一个文件夹名为App_Data
。
通过选择菜单选项Build->Publish
发布网站时,也可以使用复选框Include files from the App_Data folder
。
我是否正确地假设放入此文件及其子文件夹的文件无法通过网络访问?例如,放入我打算仅由应用程序代码使用的文件夹资源是否安全?
App_Data
文件夹的真正用途是什么?
修改
感谢您的所有答案。从目前为止收到的答案中,我最感兴趣的是提到的两点:
是否有人能够指定“无法通过网络查看”的方式? 我可以在执行标准部署时依赖这一事实,还是需要检查服务器上的某些IIS设置。
在我有一组pdf文件的情况下,我希望只能从应用程序访问。 App_Data文件夹是否适合使用,或者我应该创建一个单独的文件夹并手动设置IIS以确保Web无法访问它?
答案 0 :(得分:114)
App_Data本质上是基于文件的数据存储的存储点(例如,与SQL Server数据库存储相对)。例如,一些简单的站点将其用于存储为XML的内容,通常在数据库的托管费用昂贵的情况下。
答案 1 :(得分:39)
,突出显示该计算机,双击"请求过滤",打开"隐藏段"标签。 "程序App_Data"在那里列为受限文件夹。是的我知道这个帖子真的很旧,但这仍然适用。
答案 2 :(得分:23)
App_data的预期用途是将Web进程的应用程序数据存储到acess。它不应该由Web查看,并且是Web应用程序存储和读取数据的地方。
答案 3 :(得分:15)
这是放置嵌入式数据库的地方,例如Sql Server Express,Access或SQLite。
答案 4 :(得分:13)
App_Data文件夹是一个文件夹,您的asp.net工作进程也具有文件系统权限,但不通过Web服务器发布。
例如,我们使用它来更新联系我们表单的本地CSV。如果首选电子邮件方法失败或需要查询数据源,则App_Data文件就在那里。
这不是理想的,但它是一个很好的后退。
答案 5 :(得分:10)
来自MSDN中 ASP.NET Web Project Folder Structure 的文档:
您可以将Web项目的文件保存在任何文件夹结构中 方便您的申请。为了更容易使用您的 应用程序,ASP.NET保留您的某些文件和文件夹名称 可用于特定类型的内容。
App_Data 包含应用程序数据文件,包括.mdf数据库文件,XML文件和其他数据存储文件。 App_Data文件夹是 ASP.NET用于存储应用程序的本地数据库,例如 用于维护成员资格和角色信息的数据有关详情,请参阅Introduction to Membership和Understanding Role Management。
答案 6 :(得分:7)
主要目的是将应用程序的数据库文件保存在。
中默认情况下,不会从网络访问此内容。
答案 7 :(得分:7)
我们将其用作上传的csv文件的临时存储区域。上传后,ajax方法处理并删除文件。
答案 8 :(得分:6)
App_Data的预期用途是存储数据库相关文件。通常是SQL Server Express .mdf文件。