Retrouvez toutes les dernières nouvelles de la version RC d'ASP.NET Core 2.1 dans l'interview d'Ed Charbeneau avec Daniel Roth à Microsoft Build 2018.
Sur cet épisode de Eat Sleep Code, l'invité Daniel Roth parle de "live release" candidat "d'ASP.NET Core 2.1. Je me suis assis avec Daniel Roth à Microsoft Build 2018 pour discuter des améliorations à venir dans la version, et il y a beaucoup à dire. C'est une version excitante qui comprend un signal SignalR / Azure SignalR flambant neuf, une intégration facile avec OpenAPI (aka Swagger), un support de tests fonctionnels, et bien plus encore. Daniel discute certaines de ses fonctionnalités préférées comme HttpClientFactor et des frameworks expérimentaux comme Blazor .
Vous pouvez écouter le spectacle, enregistré en direct sur Build 2018, en utilisant le player ci-dessous ou en vous abonnant sur iTunes . Pour ceux qui préfèrent lire à l'écoute, vous trouverez ci-dessous des récapitulatifs des nombreuses fonctionnalités discutées sur le podcast.
SignalR
SignalR est une bibliothèque ASP.NET pour travailler avec la communication bidirectionnelle entre le serveur et le client via Websockets . Dans ASP.NET 2.1, la nouvelle version de SignalR est une version en direct complète. Bien que SignalR n'ait pas été complètement réécrit à partir de la version initiale de .NET Framework, il a été fondamentalement modifié et considérablement amélioré. L'un des plus grands changements est la suppression de sa dépendance jQuery. La suppression de jQuery élargit le spectre des frameworks côté client à utiliser, notamment Angular, React et Vue. En outre, les protocoles sont maintenant extensibles dans SignalR avec deux protocoles de concentrateur intégrés: un protocole de texte basé sur JSON et un protocole binaire utilisant MessagePack
Azure SignalR Service
L'une des plus grandes annonces concernant SignalR est de savoir comment étant inclus dans la pile Azure. Les développeurs n'ont plus besoin de gérer les performances, l'évolutivité et la disponibilité de leurs concentrateurs SignalR. Avec le service Azure SignalR, ces problèmes sont traités pour vous.
Ensuite, configurez une chaîne de connexion et des services de connexion dans Startup.cs en utilisant Dans cette version, une nouvelle méthode pour créer ASP.NET Core Web Des API plus descriptives utilisant la spécification OpenAPI (anciennement Swagger) ont été ajoutées . Cela a été fait pour alléger le besoin d'utiliser plusieurs attributs pour produire des résultats similaires lors de l'utilisation de IActionResult. ASP.NET Core 2.1 introduit un nouveau type ActionResult qui permet de renvoyer le type de réponse ou tout résultat d'action tout en indiquant le type de réponse. Lors de l'utilisation de est devenu plus facile dans ASP.NET Core 2.1 avec WebApplicationFactory. WebApplicationFactory appelle l'ensemble de l'application et l'héberge en mémoire. WebApplicationFactory permet aux développeurs de créer une fabrique personnalisée qui configure le HttpClient sans "toucher le fil". Lorsque WebApplicationFactory est initialisé, il appelle l'application entière de bout en bout, y compris les pages et les vues, ce qui permet de vérifier les résultats. Cela permet de tester des scénarios qui requièrent une configuration HttpClient spécifique, par exemple, l'ajout d'en-têtes HTTP spécifiques à une requête. HttpClientFactory est une fabrique "opiniâtre" pour créer des instances HttpClient à utiliser dans vos applications. Il fournit des conseils pour l'utilisation de HttpClient de telle sorte que HttpClient soit créé et réutilisé efficacement plutôt que de les éliminer prématurément. Une mauvaise utilisation de HttpClient peut entraîner des goulots d'étranglement importants et une mauvaise fiabilité en consommant des ressources et des sockets. En plus de fournir HttpClient en tant que service .NET, la fabrique gère les problèmes transversaux via un pipeline de requêtes de manière centralisée. HttpClientFactory introduit des clients nommés et typés pour l'utilisation de plusieurs instances distinctes de HttpClient. ] AddHttpClient méthode un HttpClient nommé est ajouté au conteneur de service. La propriété httpClientFactory est ensuite résolue via l'injection de dépendance et une instance du client nommé est créée. HttpClient peut également être fortement typé pour l'aide supplémentaire d'IntelliSense et du compilateur. Un HttpClient fortement typé est ajouté au conteneur de service à l'aide de Une classe personnalisée encapsule les en-têtes et les paramètres nécessaires pour effectuer la requête. Dans le contrôleur, le HttpClient peut être résolu par injection de dépendance en utilisant le type. Avec l'ajout de HttpClientFactory, un pipeline de middleware HTTP sortant est disponible en utilisant un type Une bibliothèque de classes Razor (RCL), comme son nom l'indique, est une bibliothèque de classes Vues rasoir. Les RCL sont un moyen simple de créer des mandrins réutilisables de code de vue qui peuvent être partagés entre des projets ou via NuGet. Inclus dans la version ASP.NET Core 2.1 est un nouveau modèle RCL disponible via l'expérience Fichier> Nouveau projet dans Visual Studio ou la ligne de commande en utilisant L'identité dans ASP.NET Core 2.1 est en cours de révision majeure. Les mises à jour incluent une prise en charge permettant aux développeurs de gérer les implications du GDPR (General Data Protection Regulation). prendre le contrôle de leurs données personnelles Dans cette version, la bibliothèque ASP.NET Identity gi ves développeurs un point de départ pour la façon de gérer les cookies, la possibilité de télécharger des données personnelles (en mode hors connexion), et de supprimer leurs données d'identité. Dans les versions précédentes d'ASP.NET Core, l'ajout d'Identity à un projet était un processus très manuel. Les utilisateurs devaient souvent créer un nouveau projet à l'aide de la boîte de dialogue Fichier> Nouveau projet pour obtenir le code nécessaire à ajouter à un projet existant. Avec ASP.NET Core 2.1 et grâce à Razor Class Libraries (RCL), il s'agit maintenant d'un processus simple Dans ASP.NET Core 2.1 Identity est une RCL qui peut être facilement ajoutée aux projets nouveaux et existants. Pour aider davantage les développeurs dans le processus, un nouvel assistant Identity Scaffolidng a été ajouté à Visual Studio. L'outil d'échafaudage Identity sert à deux fins, en ajoutant l'identité ou en remplaçant les modèles d'identité existants. Remarque: Les nouveaux modèles ne contiennent pas le rendu côté serveur (SSR). Le SSR peut être activé, mais ce n'est pas une décision à prendre à la légère car il y a des impacts négatifs sur l'utilisation du SSR dans une application. Les détails concernant le SSR avec ASP.NET Core 2.1 Les modèles SPA sont disponibles dans la documentation officielle ASP.NET . Si vous êtes un client Progress Telerik et que vous souhaitez essayer le modèle Angular SPA en utilisant le Kendo UI, téléchargez notre dernière extension pour Visual Studio sur le marché . Faites-nous savoir si c'est quelque chose que nous devrions continuer à développer en laissant vos commentaires à feedback.telerik.com . Blazor est pas officiellement pris en charge ASP.NET Caractéristique de base mais cela ne le rend pas moins excitant. Blazor est un nouveau framework web .NET expérimental utilisant C # / Razor et HTML qui s'exécute dans le navigateur avec WebAssembly. Blazor est fortement inspiré par les concepts de frameworks frontaux populaires comme Angular et React. L'aspect prometteur de Blazor est qu'il est capable de consommer des bibliothèques .NET Standard sur le client du navigateur. Cela signifie que les applications Blazor peuvent potentiellement partager du code commun entre le serveur et le client, et en plus des bibliothèques de NuGet. L'inconvénient d'exécuter des bibliothèques existantes sur le client est qu'elles ne doivent pas dépendre de ressources qui ne sont pas disponibles dans le navigateur, ex: System.IO ou System.Drawing. Puisque Blazor est un test, il doit être ajouté manuellement et n'est pas inclus avec ASP.NET Core 2.1. Vous trouverez les instructions d'installation sur la page d'accueil Blazor . services.AddSignalR (). AddAzureSignalR ()
et app. UseAzureSignalR ()
Les clients ASP.NET Core SignalR existants n'ont pas besoin de modification pour tirer parti des services Azure SignalR OpenAPI / Swagger Integration
[Produces(typeof(SalesOrder))]
public IActionResult Get (long id)
{
var salesOrder = GetSalesOrder (id);
renvoie Ok (salesOrder);
}
public ActionResult Obtenir (identifiant long)
{
var employé = GetSalesOrder (id);
return salesOrder;
}
ActionResult
l'objet de retour est défini par T
et la spécification OpenAPI peut être obtenue à partir de la signature de méthode Functional Testing Support
HttpClientFactory
public void ConfigureServices (Services IServiceCollection) {
services.AddHttpClient ("github", c =>
{
c.BaseAddress = new Uri ("https://api.github.com/");
c.DefaultRequestHeaders.Add ("Accepter", "application / vnd.github.v3 + json"); // Github API versioning
c.DefaultRequestHeaders.Add ("User-Agent", "HttpClientFactory-Sample"); // Github nécessite un user-agent
});
}
public class MyController: Controller
{
IHttpClientFactory _httpClientFactory;
MyController public (IHttpClientFactory httpClientFactory)
{
_httpClientFactory = httpClientFactory;
}
public IActionResult Index ()
{
var gitHubClient = _httpClientFactory.CreateClient ("github");
retour Voir ();
}
}
AddHttpClient
. public void ConfigureServices (services IServiceCollection)
{
services.AddHttpClient ();
services.AddMvc ();
}
public class GitHubService
{
public HttpClient Client {get; ensemble privé; }
GitHubService public (client HttpClient)
{
client.BaseAddress = new Uri ("https://api.github.com/");
client.DefaultRequestHeaders.Add ("Accepter", "application / vnd.github.v3 + json"); // Github API versioning
client.DefaultRequestHeaders.Add ("User-Agent", "HttpClientFactory-Sample"); // Github nécessite un user-agent
Client = client;
}
}
public class IndexModel: PageModel
{
GitHubService privé _ghService;
IndexModel public (GitHubService ghService)
{
_ghService = ghService;
}
tâche asynchrone publique OnGet ()
{
var resultat = wait _ghService.Client.GetStringAsync ("/ orgs / octokit / repos");
}
}
DelegatingHandler
. Le pipeline de middleware sortant est conceptuellement similaire à la manière dont ASP.NET gère les requêtes HTTP entrantes. Plus d'informations sur HttpClientFactory sont disponibles dans l'article, Présentation de la fabrique HTTPClient . Bibliothèques de classe Razor
dotnet new razorclasslib -o RazorClassLib1
. GDPR
Identiy Scaffolding
Blazor Experiment continue
Les commentaires sont désactivés en mode prévisualisation.
[ad_2]
Source link