اشتراکها
Tag Helpers are a new feature in MVC that you can use for generating HTML. The syntax looks like HTML (elements and attributes) but is processed by Razor on the server. Tag Helpers are in many ways an alternative syntax to Html Helper methods but they also provide some functionality that was either difficult or impossible to do with helper methods. Each tag helper has a different behavior and different options. This post will give you an overview and links to more details for each tag helper
یک CMS تجاری بزرگ با قابلیتهای زیر
A modular, service based web application model
Code generator to produce initial services / user interface code for an SQL table
T4 based code generation on server to reference script widgets with intellisense / compile time validation
T4 based code generation to provide compile time type safety and intellisense while calling AJAX services from script side.
An attribute based form definition system (prepare UI in server side with a simple C# class)
Automatic seamless data-binding through form definitions (form <-> entity <-> service).
Caching Helpers (Local / Distributed)
Automatic cache validation
Configuration System (storage medium independent. store settings in database, file, whatever...)
Simple Logging
Reporting (reports just provide data, has no dependency on rendering, similar to MVC)
Script bundling, minification (making use of Node / UglifyJS / CleanCSS) and content versioning (no more F5 / clear browser cache)
Fluent SQL Builder (SELECT/INSERT/UPDATE/DELETE)
Micro ORM (also Dapper is integrated)
Customizable handlers for REST like services that work by reusing information in entity classes and do automatic validation.
Attribute based navigation menu
UI Localization (store localized texts in json files, embedded resource, database, in memory class, anywhere)
Data Localization (using an extension table mechanism helps to localize even data entered by users, like lookup tables)
Script widget system (inspired by jQueryUI but more suitable for C# code)
Client side and server side validation (based on jQuery validate plugin, but abstracts dependency)
Audit logging (where CDC is not available)
System for data based integration tests
Dynamic scripts
Script side templates
اشتراکها
NET 9 Release Candidate 2. منتشر شد
.NET 9 Release Candidate 2 is now available!
As we prepare the general availability (GA) release of .NET 9 in November we are adding our final touches around performance, stability, and any additional optimizations to make it the best release of .NET 9. Today, we are excited to announce the release of .NET 9 Release Candidate 2. As with Release Candidate 1, this release is covered by a go-live license so you can receive support when using it in your production applications. We encourage developers today to try out this latest release and give the teams feedback on anything that you find in your development so we can incorporate any additional enhancements into the final release.
اشتراکها
بهبودهای کارآیی LINQ در داتنت 9
.NET 9.0 LINQ Performance Improvements
With .NET 9, LINQ becomes faster in several common scenarios. As with every new version of .NET, you simply need to migrate and recompile to take advantage of these improvements. Additionally, LINQ has been optimized in other ways: SIMD is utilized whenever possible, such as when summing a sequence of integers. Moreover, enumerating empty sequences incurs lower costs due to early detection.
The winner in terms of serialize speed is again FlatBuffer which still has the lowest overhead, but you need to go through a more complex compiler chain to generate the de/serialization code. The new entry MemoryPack is second which is the newest serializer
اشتراکها
سربارگزاری توابع در TypeScript
This package helps set up SqlClient in applications using dependency injection, notably ASP.NET and Worker Service applications. It allows easy configuration of your database connections and registers the appropriate services in your DI container. It also enables you to log events from Microsoft.Data.SqlClient using standard .NET logging (ILogger).
روش دیگری بجای استفاده از فایلهای bat
در انتهای بحث یک سری فایل bat معرفی شدند که کار اجرای دستورات مرتبط را سادهتر میکنند. روش دوم اجرای این نوع دستورات، استفاده از همان فایل package.json است. قسمت scripts آنرا به صورت ذیل تکمیل کنید:
سپس افزونهی NPM Task Runner را نیز نصب کنید.
اکنون اگر بر روی فایل package.json، در ویژوال استودیو کلیک راست کنید، گزینهی Task Runner Explorer اضافه شدهاست. با انتخاب آن امکانات ذیل ظاهر میشوند:
در اینجا با کلیک راست بر روی هر گزینه، امکان اجرای آن وجود خواهد داشت.
در انتهای بحث یک سری فایل bat معرفی شدند که کار اجرای دستورات مرتبط را سادهتر میکنند. روش دوم اجرای این نوع دستورات، استفاده از همان فایل package.json است. قسمت scripts آنرا به صورت ذیل تکمیل کنید:
"scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e", "_0-prerestore": "npm install", "_0-restore": "dotnet restore", "_1-ng-build-dev": "ng build --watch", "_1-ng-build-prod": "ng build --prod --watch", "_2-dotnet-run": "dotnet watch run", "_2-ng-serve-proxy": "ng serve --proxy-config proxy.config.json -o" },
اکنون اگر بر روی فایل package.json، در ویژوال استودیو کلیک راست کنید، گزینهی Task Runner Explorer اضافه شدهاست. با انتخاب آن امکانات ذیل ظاهر میشوند:
در اینجا با کلیک راست بر روی هر گزینه، امکان اجرای آن وجود خواهد داشت.