文章来源:https://github.com/dotnet/aspnetcore/issues/39504
转载自知乎:https://zhuanlan.zhihu.com/p/469359820
Each list is a link. Let's take a rough look. If you are interested, click on the original text above or the link to the website's synchronized article, the link will not be posted on the public account, and you will not be able to click even if you post it...
ASP.NET Core runtime
Server-Function
Here are some feature highlights we plan to add to the server in the. NET 7 release:
- Add support for output caching #27387
- Use Kestrel+YARP to share port #39640
- ANCM #39281 for ARM64
- Kestrel supports WebSockets #7801 via HTTP/2
- OCSP binding supports Kestrel #4762
- Kestrel's Rate Limiting-Design Mechanism for Applying Backpressure to Accepting Connections #13295
- [Theme] Support for migrating. NET Framework applications to. NET Core #40078
Server-Performance
NET 6 is an important release of server performance, and we hope to improve further in. NET 7, as follows:
- Connection Performance Improvement #39846
- Allow server memory pool to shrink #27394
- Enable kernel response buffering for the HTTP.sys server #14455
- Improve HTTP/2 performance with Channels #30235
HTTP/3 support
HTTP/3 support is provided as a preview feature in. NET 6. For. NET 7, we want to complete it and make it a supported feature.
- HTTP/3: UseHttps Configuration #34858
- Implement Http3 static response header compression #33980
- Dynamic table support for HTTP/3 #28433
- HTTP/3: Remove non-final h3 ALPN #35032
- HTTP/3: Kestrel #36486 is enabled by default in. NET 7
ASP.NET Web Framework
Minimal APIs
- Improved minimum api routing with grouping #36007
- Add support for endpoint filters #37853
- [Epic] OpenAPI #37098 in. NET 7
- Extend the ability to bind custom parameters to the Minimal API #35489
- Add anti-counterfeiting (anti-csrf) support to the smallest endpoint #38630
- Generate security solutions for individual endpoints/operations #39761
- Support binding request bodies as Stream/ReadOnlySequence byte or ReadOnlyMemory byte/ReadOnlySpan byte #38153
- Consider a better API to configure JsonOptions for minimum operations/routing to code #39226
- Making the IResult method more testable #37502
- The Minimal API does not support binding from queries or headers to StringValues #36726
- Minimum Action-Array support in method signatures from query string bindings #32516
- Usage of Problem Details is inconsistent across ASP.NET Core #32957
- The minimum API configured for authorization should be very simple and distinctive #34545
- Design Verification for Minimum API #30666
- [Epic]: Minimal APIs + MVC #36637 analyzer (improves developer experience)
SignalR
- Support calling return value #5280 from the client
- Refresh SignalR's Authentication Token #5297
- [Epic] SignalR should have a C++ client #5301 (improvement on existing C++ clients)
Rate Limiting
- Completed implementation of non-universal rate limiter (fixed window, sliding window, token bucket, concurrency limiter)#37381
- Design Universal Rate Limit API #37383
- Implementing rate-limiting middleware #37384 in aspnetcore
- Redesign current aspnetcore concurrency limiter middleware to use new abstractions and implementations #38306
- Rate limiting implemented by Yarp #37387
- Kestrel's Rate Limiting-Design Mechanism for Applying Backpressure to Accepting Connections #13295
- Move rate-limiting abstraction/API to dotnet/runtime #37385
gRPC (dotnet-gRPC)
- [EPIC] gRPC JSON Transcode grpc/grpc-dotnet#1583 (gRPC/HTTP)
Orleans
- Implement POCO Grains orleans #7351
- Configurable serializer for grain persistence orleans #7471
- Remove SMS provider orleans #7475
- Implement stateless service abstraction orleans #7469
- [Epic]: Implementing workflows as primitive orleans #7487 in Orleans
- [Epic]: Improving the experience of Orleans customers deploying to Azure orleans #7486
- Simplify flow configuration abstract orleans #7473
- Add an Orleans template for aspnetcore orleans #7479
ASP.NET Web UI
Blazor Hybrid
- Blazor with maui cannot use InputSelect or select maui #4325
- Blazor Desktop Principles: Global Preparation maui #2532
- Blazor Desktop Test Infrastructure and Plan maui #2543
- Supports the configurability of opening external URLs maui#4338
- Hot overloading on the MAUI Blazor application does not work. Maui #2527
- Blazor Desktop: Support auth maui #2529
- Blazor Desktop Principle: Safe maui #2540
- Blazor Desktop Principle: Performance maui #2531
- Blazor Desktop Principles: Accessibility maui #2541
- Blazor Desktop Principle: DPI Awareness maui #2549
- Blazor desktop development tool enables maui #2542
- Documentation: Blazor Hybrid Drill/Getting Started maui #3684
- Blazor Mixed Project Template Update maui #4127
- [Blazor webview] Exception handling for blazor webview maui #4441
Razor Compiler
- When types have additional constraints, generic Blazor components cannot correctly infer their type #25588
- Update Razor compiler to use global more freely:: #18757
- Compiler crash issue reported via internal telemetry #38877
- Compiler crash issue reported via internal telemetry #38878
- Compiler crash issue reported via internal telemetry #38879
- Blazor CascadingTypeParameter Issue #38479
- Add SDK Snapshot Test #28489 for 5.0 apps
- Having an open form above the code block will turn everything blue #27133
- Stay away from Razor generating different code at design time/run time. #30669
- Razor Editor complains that tabs are not closed #30573
- Locating the owner in the Razor syntax tree may fail #36689
Blazor
- Ability to run multiple Blazor Server/Web Assembly Applications #38128 in the same document
- Expose location change event for NavigationManger #14962
- Calling InvokeAsync(StateHasChanged) causes the page to fall back to the default culture #28521
- Perform the process of cleaning up Web templates #30162
- Empty Blazor Project Template #32832
- Consider shipping ObjectGraphDataAnnotationsValidator / ValidateComplexTypeAttribute #28640
- Product Custom Element Support Pack #38447
- Improving the pre-rendering and authentication experience in Blazor #27592
- Pause and resume Blazor app #27576
- Blazor Image element for displaying images that cannot be accessed through HTTP endpoints #25274
- Design plan: Binding get/set/after modifier #39837
- Design to address transient disposables on Blazor servers #26676
- Blazor Pause and resume server-side Blazor circuit #30344
- Specific components that process large binary data (files and media)#30290
- Enable integration with 3rd party asset management solutions #38445
- Components will not reset parameters it receives during hot overload updates #31272
- Add DateOnly and TimeOnly support for model binding and routing #34591
- Better MSAL support for other options #38122
- How to use IHttpClientFactory #25758 to configure the HttpClient base address in Blazor Server
- More control over circuit life (ability to monitor circuit activity and terminate from client/server)#30287
- Server-side Blazor: Provides API/extension point for Circuit Eviction #17866
- True multithreading (on supported browsers)#17730
- Developers targeting browser-wasm can use the Web Crypto APIs timerun #40074
- Continue to improve the Mono method body and replace runtime #57365
MVC
- IRouter.GetVirtualPath alternative in EndpointRouting #23041
- Allow matching routes without capturing parameters #27996
- Localized number format and wrong input type for decimal fields #6566
- Link Generation Improvement #38121
- LinkTagHelper should not use inline script #14736
- Add support for implicit inference of FromServices types that appear in DI #39667
- Inferring FromBody.AllowEmptyBehavior = Allow based on nullability information #39754
- Consider adding support for TryParse as a binding primitive #39682
- EmptyBodyBehavior.Allow should allow missing Content-Type #36466
- SkipStatusCodePagesAttribute should run before AuthorizeAttribute #10317
- ApiExplorer does not correctly handle multiple routes on the same operation method #26234
- FromServices infers opposability based on nullability information # 39757
- Razor Pages ComplexTypeModelBinder cannot handle "Or set the 'X' property to a non-null value in the 'YModel' constructor" recommendation #21916