Quickstarters
Feature Overview
如何为C#构建后端?
25 分
介绍 在本教程中,您将学习 如何使用 back4app 构建 c# 的后台 。 我们将探讨如何集成 back4app 的关键功能——如数据库管理、云函数、rest 和 graphql api、用户身份验证以及实时查询——以创建一个安全、可扩展且高效的 c# 应用程序后台开发环境。 无论您是使用 asp net core 还是针对 net framework,back4app 通过提供构建 后台应用程序 的基本基础设施工具来加速您的工作流程。 这种简化的方法可以通过消除手动配置服务器和数据库的需要来节省您的时间。 在此过程中,您还将学习如何应用高级安全选项,使用云作业调度任务,以及集成网络钩子以扩展功能。 在本指南结束时,您将拥有创建 web 应用程序 或其他 后端应用程序 的坚实基础,使用 c#。您将准备好根据更复杂的业务逻辑或外部 api 集成自定义此基本设置。 先决条件 要完成本教程,您需要 一个 back4app 账户和一个新的 back4app 项目 开始使用 back4app https //www back4app com/docs/get started/new parse app 如果您没有账户,可以免费注册。此指南展示了如何创建和配置您的 back4app 项目。 c# 开发环境 您可以使用 visual studio 或 visual studio code 来进行 asp net core 或 net framework 项目。 net 下载页面 https //dotnet microsoft com/en us/download 熟悉 c# 对 c# 编程语言 和面向对象概念的基本知识。 microsoft c# 文档。 https //learn microsoft com/en us/dotnet/csharp/ net sdk (用于 asp net core 或 net framework) 确保您已为您的平台安装最新的 net sdk。 net 下载页面 https //dotnet microsoft com/en us/download 确保在开始之前准备好这些,以便演练顺利进行。 步骤 1 – 在 back4app 上创建新项目并连接 登录 back4app 并创建一个新项目。这将作为您 c# 后端的基础。 在您的 back4app 仪表板中点击“新应用”。 为您的项目命名(例如,“csharp backend tutorial”)。 创建后,您将在仪表板中看到它列出。这个新项目将处理数据库操作、身份验证、实时查询等。 安装 parse net sdk (如果适用)。 在您的 c# 项目(asp net core 或 net framework)中,通过 nuget 添加 parse sdk。 初始化 parse :从您的 back4app 项目的“应用设置”或“安全性与密钥”中获取您的 应用程序 id 、 客户端密钥 (有时称为 net 密钥)和 服务器 url 。 通过这一步,您已设置好您的 c# 应用程序与 back4app 后端的安全通信。您现在可以通过 parse net sdk 与您的应用数据进行交互。 步骤 2 – 设置数据库 创建数据模型 通过您的 back4app 控制面板或通过代码保存对象来定义您的架构(例如,“待办事项”类)。 使用 ai 代理创建数据模型 在您的 back4app 控制面板中打开 ai 代理 。 描述您的数据模型(例如,“为 c# 演示创建一个 todo 架构”)。 让 ai 代理自动生成类和字段。 使用 sdk 读取和写入数据 使用 rest api 读取和写入数据 使用 graphql api 读取和写入数据 使用实时查询(可选) 在 back4app 的 服务器设置 中启用实时查询。 在您的 c# 应用中,如果有可用的专用库,您可以使用它们进行订阅,或通过 websockets 进行订阅。请查看 net sdk 文档以获取当前支持的信息。此功能在构建需要实时更新的 web 应用程序 时非常有用。 步骤 3 – 使用 acls 和 clps 应用安全性 概述 acls 控制对象级别的读/写访问权限。 clps 在类级别限制操作(公共用户 vs 认证用户 vs 特定角色)。 设置类级别权限 前往 back4app 仪表板中的“数据库”部分。 选择您的类(例如,“todo”)并打开 类级别权限 根据需要配置“需要认证”或更严格的设置。 在 c# 中配置 acls 这种方法确保只有授权用户可以读取或修改您的后端数据,从而保护您的 backend development 免受未经授权的访问。 步骤 4 – 编写云代码函数 为什么使用云代码 云代码允许您在 javascript 中运行服务器端逻辑(即使您的客户端是 c#)。可以用于验证、触发器或自定义业务逻辑。您不需要单独的服务器——back4app 为您托管和扩展您的代码。 示例函数 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 cli 并运行: 或将您的函数粘贴到 云代码 > 函数 在您应用的仪表板中。 调用函数 从您的 c# 代码中: var parameters = new dictionary\<string, object> { { "text", "hello from c#" } }; var result = await parsecloud callfunctionasync\<idictionary\<string, object>>("calculatetextlength", parameters); console writeline("text length " + result\["length"]); 或者通过rest/graphql调用其他 后端应用程序 步骤5 – 配置身份验证 back4app中的用户身份验证 back4app的 parse user 类处理密码哈希、会话令牌和安全登录流程。这对于需要用户帐户的 web应用程序 至关重要。 注册 / 登录 (c#) public async task signupuser(string username, string password, string email) { var user = new parseuser() { username = username, password = password, email = email }; await user signupasync(); } public async task\<parseuser> loginuser(string username, string password) { return await parseuser loginasync(username, password); } 社交登录 如果您想集成社交登录(例如,google、apple、facebook),请参考 社交登录文档。 https //www back4app com/docs/platform/sign in with apple 在许多情况下,您需要配置凭据并调用专门的parse方法,或者如果它们可用于 net生态系统,则添加额外的包。 步骤6 – 处理文件存储 在 c# 中上传文件 public async task\<string> uploadfile(string filepath) { byte\[] data = file readallbytes(filepath); var parsefile = new parsefile(path getfilename(filepath), data); await parsefile saveasync(); return parsefile url tostring(); } 将文件附加到对象 public async task\<parseobject> createphotoobject(string filepath) { var photo = new parseobject("photo"); byte\[] data = file readallbytes(filepath); var parsefile = new parsefile(path getfilename(filepath), data); photo\["imagefile"] = parsefile; await photo saveasync(); return photo; } 上传后,您可以检索 url 以在客户端应用程序中显示。您还可以设置安全规则,以限制文件上传仅限经过身份验证的用户。 第 7 步 – 电子邮件验证和密码重置 概述 电子邮件验证有助于确认用户帐户的所有权,而密码重置则提高了用户的便利性和安全性。两者都可以在 back4app 仪表板中设置。 仪表板配置 转到 应用设置 > 电子邮件设置 启用 电子邮件验证 和 密码重置 根据需要自定义电子邮件模板。 代码/实现 在 c# 中,一旦您启用了这些功能,新用户将自动收到验证电子邮件。您还可以通过编程触发密码重置: await parseuser requestpasswordresetasync("user\@example com"); 步骤 8 – 使用云作业调度任务 云作业的功能 使用 云作业 来自动化任务,例如数据清理或发送定期报告。这些任务在 back4app 的服务器上运行,无需用户直接输入。 示例作业(云代码中的 javascript) 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 允许 back4app 在您的应用中发生特定事件时向外部端点发送 http post 请求。 配置 转到 更多 > webhooks 在您应用的仪表板中。 添加一个新的 webhook 并指定端点 url(如 slack webhook 或自定义服务器)。 选择事件触发器(例如,“todo 类中的新记录”)。 如果您需要更复杂的逻辑,可以通过在 cloud code 触发器(如 beforesave 或 aftersave)中发出 http 请求来扩展此功能。 步骤 10 – 探索 back4app 管理面板 在哪里找到它 在您应用的仪表板中,转到 更多 > 管理应用 功能 管理应用提供了 crud 操作、日志、后台作业和分析的可视化界面。这非常适合非技术用户或快速数据修复。 通过启用和配置管理应用,您可以方便地处理您的 web 应用程序 中的常规数据管理任务。 结论 恭喜你!你已经学会了 如何为 c# 构建后端 使用 back4app。本指南向你展示了如何: 为 c# 后端开发 创建和配置一个新的 back4app 项目。 使用 net sdk 保存、查询和管理关系数据。 使用 acls 和 clps 保护你的数据。 实现用户身份验证和会话管理。 在 cloud code 中编写服务器端逻辑,并使用 cloud jobs 安排任务。 处理文件上传和通过网络钩子进行外部集成。 探索管理面板以便于数据库管理。 这些技能是构建高级 后端应用程序 的坚实基础。 你现在可以集成自定义业务逻辑,添加更复杂的关系结构,甚至结合外部 api 以应对现实场景。 无论您是使用 asp net core 还是针对 net framework,back4app 都可以帮助您专注于构建出色的应用程序,而不是维护服务器。 下一步 深入了解 c# 和 back4app,通过探索更高级的数据模型或性能优化。 集成外部 api 以增强您的功能——例如支付网关或消息服务。 查看 back4app 的官方文档 以获取高级安全提示、日志分析和实时分析。 构建生产就绪的应用程序 通过扩展此设置并将您的项目部署到云端。 凭借这种灵活且可扩展的设置,您已准备好迎接任何 后端开发 在 c# 中与 back4app 的挑战。祝您编码愉快!