Quickstarters
Feature Overview
How to Build a Backend for ASP.NET Core?
33 мин
введение в этом учебном пособии вы научитесь создавать бэкенд для asp net core с использованием back4app интегрируя основные функции back4app — такие как управление базами данных, cloud code, rest и graphql api, аутентификация пользователей и запросы в реальном времени — вы получите полное решение для бэкенда ваших приложений asp net core этот подход поддерживает создание масштабируемых веб приложений, обрабатывая серверную логику с минимальной настройкой с помощью back4app вы можете ускорить разработку бэкенда для вашего проекта asp net core вы воспользуетесь платформой с открытым исходным кодом, которая поддерживает надежную инфраструктуру веб 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 package manager инициализируйте sdk в вашем приложении asp net core (например, program cs или startup cs ) замените заполнители учетными данными из “настройки приложения” > “безопасность и ключи” вашего приложения back4app это соединяет ваш asp net core проект с серверной стороной back4app шаг 2 – настройка базы данных 1\ создание модели данных используйте панель управления back4app для определения схемы вашего класса например, класс todo с колонками, такими как title (string) и iscompleted (boolean) 2\ создание модели данных с помощью ai агента откройте ai агента в вашей панели управления back4app и опишите вашу модель данных например, “создайте новый класс todo для моих asp net core приложений ” ai агент затем настроит схему для вас 3\ чтение и запись данных с использованием parse net sdk вот как вы можете создать и получить todo элементы на c# 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 , отправляйте запросы или мутации на конечную точку graphql back4app mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } 6\ работа с живыми запросами включите обновления в реальном времени , включив живые запросы в вашей панели управления (в разделе настройки сервера ) затем используйте подход net или websocket для подписки это поддерживает данные актуальными в вашем веб приложении без дополнительных вызовов шаг 3 – применение безопасности с помощью acl и clp обзор acl и clp acl (списки управления доступом) защищают отдельные объекты clp (разрешения на уровне класса) защищают целые классы этот многослойный подход сохраняет данные в безопасности в вашем asp net core окружении настройка разрешений на уровне класса откройте вкладку база данных в вашей панели управления back4app выберите класс todo нажмите разрешения на уровне класса настройте чтение/запись для публичных или аутентифицированных ролей настройка acl в коде с помощью parse net sdk вы можете установить acl на уровне объекта 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 }; }); развертывание развертывание cloud code через back4app cli b4a deploy панель управления вставьте код в cloud code > функции и нажмите развернуть вызов cloud functions в 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 может управлять своей собственной идентификацией но если вы предпочитаете, вы можете передать это классу user от 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 , или другие провайдеры, если это необходимо, настроив параметры oauth в панели back4app смотрите документация по социальному входу 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 – интеграция вебхуков использование вебхуков вебхуки позволяют вашему asp net core бэкенду вызывать внешние сервисы всякий раз, когда данные изменяются например, уведомляйте канал slack, когда создается новая todo перейдите в раздел вебхуки в разделе дополнительно > вебхуки добавьте новую конечную точку выберите событие (например, создать todo ) шаг 10 – изучение панели администратора back4app обзор приложение back4app admin app помогает нетехническим пользователям управлять данными (crud) без доступа к коду оно ориентировано на модели и простое в использовании включите это в разделе панель приложений > дополнительно > админ приложение > включить админ приложение создайте пользователя администратора и выберите поддомен затем войдите с новыми учетными данными с помощью админ приложения вы и ваша команда можете быстро обрабатывать важные задачи с данными, что способствует сотрудничеству и освобождает время для разработки заключение вы научились создавать бэкенд для asp net core с использованием back4app для оптимизации данных, безопасности и функциональности объединив платформу с открытым исходным кодом с вашими навыками net core, теперь у вас есть масштабируемая структура базы данных с acl и clp запросы в реальном времени для мгновенных обновлений данных облачный код для безопасной серверной логики интегрированные веб api конечные точки для вашего веб разработки автоматизированные облачные задания и вебхуки для расширения вашего бэкенда простой в использовании административный интерфейс для управления данными с этими основами вы можете разрабатывать полноценные приложения asp net core, которые обеспечивают первоклассный пользовательский опыт и без усилий обрабатывают большой трафик следующие шаги перейти в продакшн укрепите правила безопасности, оптимизируйте производительность и используйте аналитику back4app добавить расширенные функции экспериментируйте с ролями, доступом на основе ролей или сторонними api (например, stripe, slack) углубиться в облачный код напишите пользовательские триггеры, интегрируйтесь с внешними сервисами или обрабатывайте сложные рабочие процессы просмотреть официальную документацию back4app документация back4app https //www back4app com/docs/ предлагает руководство по расширенному использованию расширьте ваш проект asp net core с более богатыми mvc паттернами, микросервисами или специализированными потоками аутентификации