Quickstarters
Feature Overview
How to Build a Backend for ASP.NET Core?
32 นาที
บทนำ ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีการสร้างแบ็กเอนด์สำหรับ asp net core โดยใช้ back4app โดยการรวมฟีเจอร์ที่สำคัญของ back4app—เช่น การจัดการฐานข้อมูล, cloud code, rest และ graphql apis, การตรวจสอบสิทธิ์ผู้ใช้, และการสอบถามแบบเรียลไทม์—คุณจะได้รับโซลูชันแบ็กเอนด์ที่ครบถ้วนสำหรับแอปพลิเคชัน 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 agent เปิด ai agent ในแดชบอร์ด back4app ของคุณและอธิบายโมเดลข้อมูลของคุณ ตัวอย่างเช่น “สร้างคลาส todo ใหม่สำหรับ แอปพลิเคชัน asp net core ของฉัน ” ai agent จะตั้งค่าสคีมาสำหรับคุณ 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\ การทำงานกับ live queries เปิดใช้งาน การอัปเดตแบบเรียลไทม์ โดยการเปิด live queries ในแดชบอร์ดของคุณ (ภายใต้ การตั้งค่าเซิร์ฟเวอร์ ) จากนั้นใช้วิธี net หรือ websocket เพื่อสมัครสมาชิก ซึ่งจะทำให้ข้อมูลสดใหม่ใน เว็บแอปพลิเคชันของคุณ โดยไม่ต้องเรียกเพิ่มเติม ขั้นตอนที่ 3 – การใช้ความปลอดภัยด้วย acls และ clps ภาพรวมของ acls และ clps acls (access control lists) ปกป้องวัตถุแต่ละชิ้น clps (class level permissions) ปกป้องคลาสทั้งหมด วิธีการแบบชั้นนี้ช่วยให้ข้อมูลปลอดภัยใน asp net core สภาพแวดล้อม การตั้งค่า class level permissions เปิดแท็บ database ในแดชบอร์ด back4app ของคุณ เลือกคลาส todo คลิกที่ class level permissions ปรับแต่งการอ่าน/เขียนสำหรับบทบาทสาธารณะหรือที่ได้รับการรับรอง การกำหนดค่า 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 – การเขียนฟังก์ชัน cloud code ทำไมต้องใช้ cloud code? cloud code ทำงานบน เซิร์ฟเวอร์ของ back4app นี่เป็นวิธีที่เหมาะสำหรับการตรวจสอบ, ทริกเกอร์, หรือโลจิกเพิ่มเติมสำหรับ โปรเจกต์ asp net core ของคุณ คุณสามารถเก็บกระบวนการที่ละเอียดอ่อนให้ปลอดภัยและไม่อยู่ในฝั่งลูกค้า ตัวอย่างฟังก์ชัน cloud // 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 – การกำหนดตารางงานด้วย cloud jobs ทำให้การทำงานเบื้องหลังเป็นอัตโนมัติ ใช้ cloud jobs เพื่อเรียกใช้งานที่เกิดขึ้นซ้ำ เช่น การลบข้อมูลเก่าหรือการส่งการแจ้งเตือน ตัวอย่างเช่น 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 เบื้องหลังเรียกใช้บริการภายนอกเมื่อมีการเปลี่ยนแปลงข้อมูล ตัวอย่างเช่น แจ้งเตือนช่อง slack เมื่อมี todo ใหม่ถูกสร้างขึ้น ไปที่ webhooks ภายใต้ เพิ่มเติม > webhooks เพิ่ม endpoint ใหม่ เลือกเหตุการณ์ (เช่น สร้าง todo ) ขั้นตอนที่ 10 – การสำรวจแผงผู้ดูแล back4app ภาพรวม แอปผู้ดูแล back4app ช่วยให้ผู้ใช้ที่ไม่ใช่เทคนิคจัดการข้อมูล (crud) โดยไม่ต้องเข้าถึงโค้ด มันมีแนวทางที่มุ่งเน้นโมเดลและตรงไปตรงมา เปิดใช้งาน มันภายใต้ แดชบอร์ดแอป > เพิ่มเติม > แอปผู้ดูแล > เปิดใช้งานแอปผู้ดูแล สร้างผู้ใช้ผู้ดูแลและเลือกซับโดเมน จากนั้นเข้าสู่ระบบด้วยข้อมูลรับรองใหม่ของคุณ ด้วยแอปผู้ดูแล คุณและทีมของคุณสามารถจัดการงานข้อมูลที่สำคัญได้อย่างรวดเร็ว เพิ่มความร่วมมือและปล่อยเวลาในการพัฒนา บทสรุป คุณได้เรียนรู้วิธีการสร้างแบ็คเอนด์สำหรับ asp net core โดยใช้ back4app เพื่อปรับปรุงข้อมูล ความปลอดภัย และฟังก์ชันการทำงาน โดยการรวมแพลตฟอร์มโอเพนซอร์สเข้ากับทักษะ net core ของคุณ ตอนนี้คุณมี โครงสร้างฐานข้อมูลที่สามารถขยายได้พร้อม acls และ clps การค้นหาข้อมูลแบบเรียลไทม์สำหรับการอัปเดตข้อมูลทันที cloud code สำหรับตรรกะด้านเซิร์ฟเวอร์ที่ปลอดภัย จุดสิ้นสุด api เว็บที่รวมเข้ากับกระบวนการพัฒนาเว็บของคุณ งาน cloud อัตโนมัติและเว็บฮุกเพื่อขยายแบ็คเอนด์ของคุณ แผงผู้ดูแลระบบที่ใช้งานง่ายสำหรับการจัดการข้อมูล เมื่อมีพื้นฐานเหล่านี้แล้ว คุณสามารถพัฒนาแอปพลิเคชัน asp net core ที่สมบูรณ์ซึ่งมอบประสบการณ์ผู้ใช้ที่ยอดเยี่ยมและจัดการการเข้าชมขนาดใหญ่ได้อย่างง่ายดาย ขั้นตอนถัดไป ไปที่การผลิต ปรับปรุงกฎความปลอดภัย ปรับแต่งประสิทธิภาพ และใช้ประโยชน์จากการวิเคราะห์ของ back4app เพิ่มฟีเจอร์ขั้นสูง ทดลองกับบทบาท การเข้าถึงตามบทบาท หรือ api ของบุคคลที่สาม (เช่น stripe, slack) ดำน้ำลึกเข้าไปใน cloud code เขียนทริกเกอร์ที่กำหนดเอง รวมเข้ากับบริการภายนอก หรือจัดการเวิร์กโฟลว์ที่ซับซ้อน ตรวจสอบเอกสารทางการของ back4app เอกสาร back4app https //www back4app com/docs/ ให้คำแนะนำเกี่ยวกับการใช้งานขั้นสูง ขยายโปรเจกต์ asp net core ของคุณ ด้วยรูปแบบ mvc ที่หลากหลาย บริการไมโคร หรือกระบวนการตรวจสอบสิทธิ์เฉพาะ