在Visual Studio中创建新的ASP.NET应用程序时,会自动创建几个文件和文件夹.其中一个文件夹被调用App_Data.
此外,当通过选择菜单选项发布网站时,可以Build->Publish使用复选框Include files from the App_Data folder.
我是否正确地假设放入此文件及其子文件夹的文件无法通过网络访问?例如,放入我打算仅由应用程序代码使用的文件夹资源是否安全?
该App_Data文件夹的真正用途是什么?
编辑:
谢谢你的所有答案.从目前为止收到的答案中,我最感兴趣的是提到的两点:
是否有人能够确定如何确保"无法通过网络查看"?我可以在执行标准部署时依赖于这一事实,还是需要检查服务器上的某些IIS设置.
在我有一组pdf文件的情况下,我想只能从应用程序访问.App_Data文件夹是否适合使用,或者我应该创建一个单独的文件夹并手动设置IIS以确保Web无法访问它?
拥有App_code&App_data文件夹有什么意义?
为什么我的objectDataSource不检测类,除非文件在App_Code中?
请提供尽可能详细的信息,我是ASP.Net的新手
当我将图像URL属性设置为App_Data文件夹中的asp图像控件时,图像显示在页面设计视图中,但不显示在浏览器中.
<form id="form1" runat="server">
<div>
<asp:Image ID="Image1" runat="server" ImageUrl="~/App_Data/p3.jpg" />
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
它似乎很简单,但它没有显示图像.
我正在使用Visual Studion 2008来构建和部署Web服务项目.我在App_Data文件夹中添加了一堆文件:一些xml,一些纯文本和两个pdf文件.所有这些文件都包含在.csproj文件中(如果不是,它们将不会被发布)但是当从VS2008进行"发布"时(当然选择"选择包含来自App_Data文件夹的文件")pdf是没有发表.我已经选择了"替换"和"删除"选项对此进行了测试.
有谁知道为什么某些文件,在这种情况下是PDF,没有发布?
我用Visual Studio 2010 Ultimate SP1发布了我的项目,我在〜/ App_Data中有一堆文件.
我不记得首次上传appdata是使用FTP还是使用WebDeploy.问题是当我向〜/ App_Data添加新文件并发布网站时,这些文件(或〜/ App_Data下的文件夹)永远不会被发布.
我的项目Web部署设置具有"Exclude App_Data"UNCHECKED,因此它应该上传它,但它不会.
还有什么我应该做的吗?
如何从Facebook webforms应用程序获取app_data查询字符串?我希望能够在查询字符串中发送一些信息,这样我就可以在我的应用程序上显示不同的主屏幕.该应用程序位于页面选项卡中.
示例:http: //www.facebook.com/pages/APPNAME/157772164271503?sk = app_230501256972470&app_data = Page.aspx
如何从app_data获取"Page.aspx"?我需要它将用户重定向到Default.aspx的不同页面
我找到了解决方案. 使用asp.net从facebook选项卡应用程序获取Querystring
using Newtonsoft.Json.Linq;
using System.Text;
public partial class Page_Default : System.Web.UI.Page
{
protected string output = "";
protected void Page_Load(object sender, EventArgs e)
{
output = "Whole thing:" +Request.Form["signed_request"];
output += "Second part:" + Request.Form["signed_request"].Split('.')[1];
try
{
string payload = Request.Form["signed_request"].Split('.')[1];
var encoding = new UTF8Encoding();
var decodedJson = payload.Replace("=", string.Empty).Replace('-', '+').Replace('_', '/');
var base64JsonArray = Convert.FromBase64String(decodedJson.PadRight(decodedJson.Length + (4 - decodedJson.Length % 4) % 4, '='));
var json …Run Code Online (Sandbox Code Playgroud) 我正在使用 Actix 框架来创建一个简单的服务器,并且我已经使用一个简单的 HTML 前端实现了文件上传。
use actix_web::web::Data;
use actix_web::{middleware, web, App, HttpResponse, HttpServer};
use std::cell::Cell;
// file upload functions, the same as you can find it under the
// actix web documentation:
// https://github.com/actix/examples/blob/master/multipart/src/main.rs :
mod upload;
fn index() -> HttpResponse {
let html = r#"<html>
<head><title>Upload Test</title></head>
<body>
<form target="/" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit" value="Submit"></button>
</form>
</body>
</html>"#;
HttpResponse::Ok().body(html)
}
#[derive(Clone)]
pub struct AppState {
counter: Cell<usize>,
}
impl AppState {
fn new() -> Result<Self, Error> …Run Code Online (Sandbox Code Playgroud) 我正在使用自定义安全性(没有会员提供商).用户登录后...在我的本地计算机上自动创建一个带有ASPNETDB.MDF的文件夹"App_Data".如果我将其部署到远程服务器,由于App_Data上的安全性限制,它将无法工作.
即使我删除了这个文件夹并重新启动应用程序......它也会被重新创建,即使我删除了对Membership/Roles/Profile提供程序的所有引用......代码中没有使用任何内容......只是普通的旧FormsAuthentication.
这是怎么回事?
我的App_Data目录中有2个图像文件,我想在我的视图中显示它们,如下所示:
@foreach (var media in Model)
{
<div class="col-lg-3 col-md-4 col-xs-6 thumb">
<a class="thumbnail"><img src="@Url.Content("~/App_Data/uploads/" + @media.URL)" alt="image" /></a>
</div>
}
Run Code Online (Sandbox Code Playgroud)
当我检查浏览器中的链接时,我得到了这个:
<img src="/App_Data/uploads/Warnings.png" alt="image">
Run Code Online (Sandbox Code Playgroud)
它说他找不到图像.如何设置正确的链接?
我正在开发一款游戏,该游戏使用 Google Drive android api 将保存的游戏存储到应用程序数据文件夹中。现在我想将所有内容迁移到 REST api,因为 gdrive android api 现在已弃用,但我注意到这里的弃用通知中非常奇怪的声明:https ://developers.google.com/drive/android/deprecation
“将来可能会从 Drive 中删除对应用程序数据文件夹中存储和同步的支持。强烈建议需要应用程序数据存储的客户迁移到非 Drive 解决方案,例如 Cloud Firestore。”
除了“可能会被删除”之外,有人知道应用程序数据弃用的更具体时间表吗?
问题是,投入时间将游戏存档存储迁移到 Rest api 或按照建议切换到 Cloud Firestore 是否仍然合理。