بليزور مع بداية واجهة برمجة التطبيقات! ؟ (.net 7)؟
هذا هو مشروع / قالب بداية يتكون من الواجهة الأمامية للبلازور و ASP.NET Core الخلفية. يتم تقديم تطبيق Blazor في هذا القالب من خادم ASP.NET Core.
عند تشغيل هذا الحل ، يرجى تعيين مشروع الخادم كمشروع بدء تشغيل إذا كنت تقوم بتشغيل هذا في Visual Studio أو إذا قمت بتشغيل هذا عبر رمز VS ، يرجى CD في مجلد مشروع الخادم وتشغيل dotnet run في CMD/PowerShell/Terminal المفضل
راجع للشغل! اشعر بحرية تمامًا في شوك/استنساخ هذا الريبو وإعادة تركيبه لإنشاء بداية خاصة بك ، مثل تبديل EF Core ل dapper أو أي مكتبة أخرى أو مكتبة للوصول إلى البيانات التي تفضلها.
ما الذي تحتاجه لتشغيل مشروع المبتدئين هذا؟
- Net 7 SDK (https://dotnet.microsoft.com/en-us/download/dotnet/7.0)
- VS Code أو Visual Studio 2022 (أحدث الحالية ، لا تتردد في استخدام المعاينة ، لكن لقد اختبرت ذلك فقط على التيار)
- يجب أن تكون قادرًا على التشغيل على Windows/Mac/Linux (لم أختبر هذا ، فقط الركض من قدرة .NET 7 على أن تكون منصة متقاطعة) ، إذا لم يكن الأمر كذلك ، فالرجاء إخباري لأنه قد يكون هناك إعداد أو تكوين سخيف الذي أفتقده.
في لمحة ، يحتوي هذا المشروع على:
- عميل Blazor (يحتوي على قطع مشروع Blazor الافتراضية مطروحًا منها بتات Weatherapi)
- خادم ASP.NET Core (API)
- مشروع مشترك (لمشاركة التعليمات البرمجية والخدمات بين الواجهة الأمامية والخلفية)
- اختبار المشاريع العميل والخادم والمشاركة
إذن ما الذي تم تكوينه؟
- جميع المشاريع تستهدف .NET 7
- تم تكوين جميع مشاريع الاختبار لاستخدام Xunit واحتواء MOQ للتبعيات السخرية.
- يحتوي مشروع اختبار Blazor على Bunit لاختبار الصفحات والمكونات
- يحتوي مشروع اختبار الخادم على لاعبا اساسيا ينشئ قاعدة بيانات إطار كيان في الذاكرة Core 7 (انظر مثال في ملف inmemorebtsts.cs لاختبار الخادم) ، سيمكنك ذلك من الاختبار دون استخدام DB فعلي!
- يحتوي مشروع العميل على مثال على HTTP-Client المكتوبة للاتصال بالخادم الذي يمكن حقنه في مكوناتك وصفحاتك.
- يحتوي مشروع الخادم على أمثلة على:
- وحدة تحكم
- خدمة
- برامج الوسيطة
- A DBContext (EF Core 7) مرتبط بـ SQLite DB يسمى example.db (هذا هو أن يكون لديك ديسيبل عاملة من الصندوق لا تتردد في إعادة الاستهداف بأي يدعم EF-Core!)
- استخدام السيارات
التقنيات / libs المدرجة في لمحة.
- إطار الكيان Core 7
- مو
- السيارات
- fluentvalidation & blazored.fluentvalidation (وهو أمر جيد جدًا حتى أنني ساهمت: D ، فلينتفاييد هو تفضيلي لتبديل النظام القياسي.
- بنيت
- xunit
- System.Text.json
- microsoft.extensions.http (لتكوين httpclient و httpmessageHandler في IHTTPclientFactory ، بالنسبة لي ، يوفر هذا بالنسبة لي خدمات لطيفة.