Quickstarters
Feature Overview
如何为ASP.NET Core构建后端?
32 分
介绍 在本教程中,您将学习如何使用 back4app 为 asp net core 构建后端。 通过集成 back4app 的基本功能——如数据库管理、云代码、rest 和 graphql api、用户身份验证以及实时查询——您将获得一个完整的 asp net core 应用程序后端解决方案。 这种方法支持构建可扩展的 web 应用程序,以最小的设置处理服务器端逻辑。 使用 back4app,您可以加快 asp net core 项目的后端开发。您将利用一个支持可靠 web api 基础设施、数据库连接和强大云功能的开源平台。 在本教程结束时,您将拥有一个安全且可扩展的后端的工作基础,提供改善的用户体验并处理实时数据。然后,您可以根据需要扩展您的 net core 解决方案或将其与其他服务集成。 先决条件 一个 back4app 账户和一个新的 back4app 项目 开始使用 back4app https //www back4app com/docs/get started/new parse app 如果您没有账户,可以免费创建一个 asp net core 开发环境 确保您已安装 net sdk(版本 6 0 或更高) 下载 net https //dotnet microsoft com/en us/download 熟悉 c# 和 asp net core 官方 asp net core 文档 https //learn microsoft com/en us/aspnet/core/?view=aspnetcore 6 0 可选 :如果您计划使用 parse net sdk,您需要 parse sdk dotnet https //github com/parse community/parse sdk dotnet 或在您的 csproj 文件中引用 在开始之前,请确保您具备所有这些先决条件。准备好您的 back4app 项目和 asp net core 环境将使步骤更容易遵循 步骤 1 – 在 back4app 上创建新项目并连接 为什么要进行此步骤? 您的 asp net core 后端始于一个 back4app 项目。这个项目是您的服务器端基础,管理您的数据库、安全规则和应用设置 创建项目 登录 到您的 back4app 账户。 点击“新应用” 从您的仪表板。 命名您的应用 (例如,“aspnetcore backend tutorial”)。 创建后,您会在仪表板上看到它列出。这个新应用是您进行 后端开发 任务的主要中心。 安装 parse net sdk(可选) 虽然您可以直接使用 rest api 或 graphql ,但 parse net sdk 可以简化您在 asp net core 解决方案中的数据操作。如果您想集成它: 将 parse sdk 添加到您的 csproj 或通过 nuget 包管理器: 在您的 asp net core 应用中 初始化 sdk(例如, program cs 或 startup cs ): 用您 back4app 应用的“应用设置” > “安全性和密钥”中的凭据替换占位符。这将您的 asp net core 项目连接到 back4app 的 服务器端 环境。 步骤 2 – 设置数据库 1\ 创建数据模型 使用 back4app 仪表板定义您的类架构。例如,一个 todo 类,包含像 title (字符串)和 iscompleted (布尔值): 2\ 使用 ai 代理创建数据模型 在您的 back4app 仪表板中打开 ai 代理并描述您的数据模型。例如,“为我的 asp net core 应用程序 创建一个新的 todo 类。” ai 代理将为您设置架构。 3\ 使用 parse net sdk 读取和写入数据 以下是您如何在 c# 中创建和获取 todo 项目: using parse; // create a new todo public async task\<parseobject> createtodo(string title, bool iscompleted) { var todo = new parseobject("todo") { { "title", title }, { "iscompleted", iscompleted } }; return await todo saveasync(); } // fetch all todos public async task\<ienumerable\<parseobject>> fetchtodos() { var query = new parsequery\<parseobject>("todo"); return await query findasync(); } 4\ 使用 rest api 读取和写入数据 或者,您可以使用 rest api 方法: curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5\ 使用 graphql api 读取和写入数据 要使用 graphql , 向 back4app graphql 端点发送查询或变更: mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } 6\ 使用实时查询 通过在您的仪表板中启用 实时 更新(在 服务器设置 )。然后使用 net 或 websocket 方法进行订阅。这可以保持您的 web 应用程序 中的数据新鲜,而无需额外的调用。 步骤 3 – 使用 acl 和 clp 应用安全性 acls 和 clps 概述 acls (访问控制列表) 保护单个对象。 clps (类级权限) 保护整个类。这种分层方法可以在你的 asp net core 环境中保持数据安全。 设置类级权限 在你的 back4app 仪表板中打开 数据库 选项卡。 选择 todo 类。 点击 类级权限 。 自定义公共或认证角色的读/写权限。 在代码中配置 acls 使用 parse net sdk,你可以在对象级别设置 acls var todo = new parseobject("todo") { { "title", "private task" } }; // restrict read/write to only a particular user var acl = new parseacl(); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); acl setreadaccess(user objectid, true); acl setwriteaccess(user objectid, true); todo acl = acl; await todo saveasync(); 步骤 4 – 编写云代码函数 为什么使用云代码? 云代码 在 back4app 的 服务器端 这对于验证、触发器或你的 asp net core 项目 你可以保持敏感过程的安全,并不在客户端上执行。 示例云函数 // main js example parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); 部署 通过以下方式部署云代码: back4app cli b4a deploy 仪表板 将代码粘贴到 云代码 > 函数 并点击 部署 调用云函数 在 net 中 public async task\<dictionary\<string, object>> gettextlength(string text) { var parameters = new dictionary\<string, object> { { "text", text } }; var result = await parsecloud callfunctionasync\<dictionary\<string, object>>("calculatetextlength", parameters); return result; } 或通过 rest curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"text" "hello back4app"}' \\ https //parseapi back4app com/functions/calculatetextlength 步骤 5 – 配置身份验证 启用用户身份验证 asp net core 可以管理自己的身份。但是如果您愿意,可以将其卸载到 parse 的 用户 类。back4app 处理密码哈希、 rest api 会话和其他安全细节。 // sign up public async task signupuser(string username, string password, string email) { var user = new parseuser { username = username, password = password, email = email }; await user signupasync(); } // log in public async task\<parseuser> loginuser(string username, string password) { return await parseuser loginasync(username, password); } 社交登录 集成 facebook , google , 或者其他提供者,如果需要,可以在 back4app 仪表板中配置 oauth 设置。请参考 社交登录文档。 https //www back4app com/docs/platform/sign in with apple 步骤 6 – 处理文件存储 上传文件 使用 parsefile 上传图像或文档: public async task\<parsefile> uploadimage(byte\[] filebytes, string filename) { var parsefile = new parsefile(filename, filebytes); await parsefile saveasync(); return parsefile; } 文件安全 在 应用设置 > 安全与密钥 , 配置文件上传,调整谁可以上传或访问文件。这保护了您 网络应用程序 中的用户数据。 步骤 7 – 邮件验证和密码重置 为什么这很重要 邮件验证确保用户拥有提供的电子邮件。密码重置对于您 asp net core 解决方案中的安全用户体验至关重要。 在 back4app 上启用它 前往 电子邮件设置 在您的 back4app 仪表板中。 开启 启用电子邮件验证 。 调整 密码重置 模板以匹配您的品牌。 步骤 8 – 使用云作业调度任务 自动化后台任务 使用云作业运行定期任务,例如删除旧数据或发送提醒。例如, cleanupoldtodos // main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); 在 back4app 控制面板的 服务器设置 > 后台作业 中设置调度 步骤 9 – 集成 webhooks 使用 webhooks webhooks 允许您的 asp net core 后端在数据更改时调用外部服务。例如,当创建新的 todo 时通知 slack 频道 导航到 webhooks 在 更多 > webhooks 下 添加一个新的端点 选择事件(例如, 创建 todo )。 步骤 10 – 探索 back4app 管理面板 概述 back4app 管理应用程序帮助非技术用户管理数据(crud),无需访问代码。它是以模型为中心且简单明了的 启用 在 应用仪表板 > 更多 > 管理员应用 > 启用管理员应用 创建一个管理员用户并选择一个子域名。然后使用您的新凭据登录 通过管理员应用,您和您的团队可以快速处理重要的数据任务,提升协作并释放开发时间。 结论 您已经学习了如何使用 back4app 为 asp net core 构建后端,以简化数据、安全性和功能。通过将开源平台与您的 net core 技能相结合,您现在拥有: 具有 acl 和 clp 的可扩展数据库结构。 实时 live queries 以实现即时数据更新。 用于安全服务器端逻辑的 cloud code。 集成的 web api 端点,以支持您的 web 开发流程。 自动化的 cloud jobs 和 webhooks,以扩展您的后端。 易于使用的管理面板,用于管理数据。 在这些基础设施到位后,您可以开发完整的 asp net core 应用程序,提供一流的用户体验,并轻松处理大规模流量。 下一步 进入生产环境 加强安全规则,优化性能,并利用 back4app 分析。 添加高级功能 尝试角色、基于角色的访问或第三方 api(例如,stripe、slack)。 深入了解 cloud code 编写自定义触发器,与外部服务集成,或处理复杂的工作流。 查看官方 back4app 文档 back4app 文档 https //www back4app com/docs/ 提供有关高级用法的指导。 扩展您的 asp net core 项目 以更丰富的 mvc 模式、微服务或专门的身份验证流程。