แอปพลิเคชันบล็อกที่เขียนใน C# และ ASP.NET CORE
blog.peasenet.com
ฉันพัฒนาแอปพลิเคชันนี้โดยใช้ Ubuntu 20.04 ผ่าน WSL2 ฉันได้ทำตามคำแนะนำที่ระบุไว้ที่นี่เพื่อติดตั้ง ASP.NET CORE บน Ubuntu 20.04 โปรดทราบว่า Linux เวอร์ชันอื่น ๆ ได้รับการสนับสนุนโดย ASP.NET Core และแอปพลิเคชันนี้จะทำงานกับ distros linux อื่น ๆ
คุณสามารถติดตั้ง ASP.NET CORE ได้ที่นี่และทำตามคำแนะนำในการติดตั้ง DOTNET และ ASP.NET บนคอมพิวเตอร์ของคุณ
การสร้างแอปพลิเคชันเป็นเรื่องเล็กน้อย ฉันใช้บรรทัดคำสั่งเพื่อสร้างแอปพลิเคชัน
dotnet buildสิ่งนี้จะสร้างแอปพลิเคชันและวางไบนารีในไดเรกทอรีบล็อก/bin/debug/net6.0
การรันแอปพลิเคชันนั้นเป็นเรื่องเล็กน้อย เพียงแค่นำทางไปยังไดเรกทอรี BlogSite และเรียกใช้แอปพลิเคชัน
cd BlogSite/bin/Debug/net6.0
dotnet BlogSite.dllสิ่งนี้จะสร้างไฟล์สองสามไฟล์ในการเริ่มต้น - app.db, posts.db และไดเรกทอรี "สื่อ"
ในขณะนี้มีสองบทบาท - บทบาทผู้ดูแลระบบที่อนุญาตให้ผู้ใช้โพสต์และบทบาทเริ่มต้น ผู้ใช้ผู้ดูแลระบบจะถูกนำไปใช้ในฐานข้อมูลเมื่อเริ่มต้น ข้อมูลรับรองผู้ดูแลระบบเริ่มต้นคือ:
Username: [email protected]
Password: Admin123!
คุณสามารถสร้างแอปพลิเคชันโดยใช้ Docker
docker build -t blogsite -f BlogSite/Dockerfile .หลังจากสร้างภาพคุณสามารถเรียกใช้แอปพลิเคชัน ขอแนะนำให้สร้างสองไดเรกทอรีบางแห่งสำหรับแอปพลิเคชันเพื่อจัดเก็บข้อมูล - หนึ่งสำหรับฐานข้อมูลและอีกอันสำหรับสื่อ
mkdir ~ /blogsite-media
mkdir ~ /blogsite-dbdocker run -v ~ /blogsite-db:/db -v ~ /blogsite-media:/app/Media -p 80:80 -d --name blogsite blogsiteแต่ละครั้งที่เกี่ยวข้องกับสาขาหลักจะมีอิมเมจนักเทียบท่าโดยอัตโนมัติ (รูปแบบการเปิดตัว) คุณสามารถใช้ภาพปัจจุบันโดยเรียกใช้คำสั่งต่อไปนี้
docker pull gcpease/blogsite:latestหลังจากเรียกใช้คำสั่งนี้คุณสามารถเรียกใช้แอปพลิเคชัน
docker run -v ~ /blogsite-db:/db -v ~ /blogsite-media:/app/Media -dp 7160:80 --name blogsite gcpease/blogsite:latestหากต้องการอัปเดตอิมเมจนักเทียบท่าให้เรียกใช้คำสั่งต่อไปนี้
docker stop blogsite
docker rm blogsite
docker pull gcpease/blogsite:latest
docker run -v ~ /blogsite-db:/db -v ~ /blogsite-media:/app/Media -dp 7160:80 --name blogsite gcpease/blogsite:latestหากคุณติดตามการพัฒนาของฉันมาสองสามปีแล้วคุณอาจสังเกตเห็นว่าฉันได้เขียนระบบบล็อกใหม่เกี่ยวกับปีละครั้ง ด้วยการทำซ้ำแต่ละครั้งฉันได้เพิ่มคุณสมบัติเพิ่มเติมและมีภาษาที่แตกต่างกัน CMS แรกของฉันเริ่มต้นจากหน้า HTML แบบคงที่ที่สร้างขึ้นโดยสคริปต์ทุบตีซึ่งพัฒนาไปสู่ระบบที่ใช้ MySQL และ PHP ระบบนี้ใช้งานได้ แต่มีข้อบกพร่องมากมายในการใช้ PHP และข้อบกพร่องภายในซอฟต์แวร์เอง ฉันตัดสินใจที่จะเขียนระบบใหม่ที่มีความยืดหยุ่นและใช้งานง่ายขึ้นรวมถึงความปลอดภัยมากขึ้น สิ่งนี้นำไปสู่การสร้าง CMS นี้ซึ่งขับเคลื่อนโดย ASP.NET Core, C#และ SQLite หวังว่านี่จะเป็นการทำซ้ำครั้งสุดท้ายของระบบบล็อกและฉันหวังว่าจะเพิ่มคุณสมบัติเพิ่มเติมให้กับมันต่อไป CMS นี้ได้รับการพิสูจน์แล้วว่าเป็นความท้าทายที่สนุกสนานรวมถึงการประยุกต์ใช้ความรู้ที่ฉันได้รับจากชั้นเรียนที่ฉันได้รับ
ฉันสนใจ C#เสมอและฉันมักจะมีความสนใจอย่างมากใน ASP.NET Core ฉันเคยใช้ C# ในอดีตสำหรับการมอบหมายโรงเรียนและสนุกกับมัน ฉันต้องการเรียนรู้วิธีใช้ ASP.NET Core และสถาปัตยกรรม MVC มาระยะหนึ่งแล้วดังนั้นนี่จึงทำให้ C# เป็นตัวเลือกที่ยอดเยี่ยม