از نگارش ASP.NET Core 2.1 preview 2 به بعد، کامپایلر ASP.NET Core، فایلهای Razor را هم در حین کامپایل برنامه به صورت خودکار بررسی میکند (Razor compilation on build). برای نمونه اگر model@ تعریف شدهی در یک فایل razor حاوی خاصیت مورد استفاده نباشد، در حین کامپایل برنامه، خطای مرتبط با آن فایل cshtml را میتوان مشاهده کرد:
Views\UploadFileExtensions\Index.cshtml(25,135): error CS1061: 'UserFileViewModel' does not contain a definition for 'UserFile' and no extension method 'UserFile' accepting a first argument of type 'UserFileViewModel' could be found (are you missing a using directive or an assembly reference?)
WSL2 runs a real Linux kernel in Windows 10 and it's managing a virtual machine platform underneath (and not visible to) Hyper-V client tools, then why not just let WSL2 handle containers for us? That's exactly what the Docker Desklop WSL 2 Tech Preview aims to do.
1. Attribute Routing
Config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{Controller}/{id}", defaults: new { id = RouteParameter.Optional } );
URI Pattern --> books/1/authors [Route("books/{bookId}/authors")] public IEnumerable<Author> GetAuthorByBook(int bookId) { ..... }
2. CORS - Cross Origin Resource Sharing
3. OWIN (Open Web Interface for .NET) self-hosting
OWIN یک اینترفیس استاندارد بین سرورهای دات نت و اپلیکیشنهای وب تعریف میکند. هدف این اینترفیس جداسازی (decoupling) سرور و اپلیکیشن است. تشویق به توسعه ماژولهای ساده برای توسعه اپلیکیشنهای وب دات نت. و بعنوان یک استاندارد باز (open standard) اکوسیستم نرم افزارهای متن باز را تحریک کند تا ابزار توسعه اپلیکیشنهای وب دات نت توسعه یابند.
4. IHttpActionResult
5. Web API OData
- expand$: بصورت نرمال، هنگام کوئری گرفتن از یک کالکشن OData، پاسخ سرور موجودیتهای مرتبط (related entities) را شامل نمیشود. با استفاده از expand$ میتوانیم موجودیتهای مرتبط را بصورت inline در پاسخ سرور دریافت کنیم.
- select$: از این متد برای انتخاب چند خاصیت بخصوص از پاسخ سرور استفاده میشود، بجای آنکه تمام خاصیتها بارگذاری شوند.
- value$: با این متد مقدار خام (raw) فیلدها را بدست میآورید، بجای دریافت آنها در فرمت OData.
چند مقاله خوب دیگر
کتابخانه Lettering.js
مسیر راه Bootstrap
Starting today, Bootstrap 3 will move to end of life, and will no longer receive critical security updates.
Bootstrap 4 moved to Long Term Support release on February 14, 2019 and will no longer receive new features. It will continue to receive bug fixes, security updates, and documentation updates.
Bootstrap 5 is under active development. You can follow our progress on GitHub.
3. Article 12a: No posting your own photos or videos of sports matches. Only the "organisers" of sports matches will have the right to publicly post any kind of record of the match. No posting your selfies, or short videos of exciting plays. You are the audience, your job is to sit where you're told, passively watch the game and go home.