Fermer

février 10, 2021

6 conseils de débogage côté serveur facilitant le développement


Le débogage est une compétence cruciale qui peut aider tout développeur à créer un meilleur code plus efficacement. Consultez ces six conseils pour savoir comment améliorer votre débogage côté serveur avec ASP.NET.

L'écriture d'une application ASP.NET n'est pas une tâche facile, mais le véritable défi est de découvrir pourquoi cette ligne de code conçue pour faire quelque chose ne fonctionne pas comme prévu.

Savoir comment déboguer votre application est tout aussi important que sa création. En tant que compétence de développeur cruciale, il n'est jamais trop tôt ni trop tard pour améliorer vos connaissances et votre pratique en matière de débogage.

Dans cet article, je voudrais partager six conseils ainsi que de courtes vidéos qui vous faciliteront la vie et vous aideront à augmenter votre efficacité.

Table des matières

Astuce 1: Connaissez votre espace de travail et vos outils

Visual Studio est une application / IDE puissante chargée d'outils étonnants que nous avons tendance à ignorer car les apprendre tous pourrait être écrasant. Je comprends parfaitement, puisque moi-même, j'ai évité de faire cela jusqu'à ce que je réalise qu'investir un peu de temps pour me renseigner sur les outils et préparer mon espace de travail pourrait porter ses fruits à long terme.

Je pense que chaque développeur .NET devrait connaître les bases du débogage dans Visual Studio, et Internet offre des millions d'articles, de vidéos et de didacticiels qui nous facilitent l'apprentissage.

Peut-être avez-vous déjà beaucoup d'expérience avec Visual Studio IDE ce qui est très bien. Il sera plus facile de se familiariser avec le débogueur de Visual Studio . Voici quelques didacticiels traitant de ce sujet:

Une fois que vous vous êtes familiarisé avec le débogueur, vous pouvez découvrir et découvrir la puissance de Watch windows et QuickWatch .

Bien que Visual Studio propose de nombreux outils puissants, l'apprentissage de la partie débogage vous fera passer au niveau supérieur!

Astuce 2: Identifier les types d'objets

Après avoir maîtrisé les outils de débogage, les choses commenceront à avoir plus de sens. Vous vous souvenez peut-être des moments où vous écrivez quelques lignes de code et bien que le code semble correct, l'application échoue avec des exceptions telles que " System.NullReferenceException: La référence d'objet n'est pas définie sur une instance d'un objet . [19659016] "ou" System.InvalidCastException: la distribution spécifiée n'est pas valide ".

La recherche sur Internet d'explications / solutions peut être extrêmement longue et fastidieuse, mais si vous profitez des outils de développement, placez un point d'arrêt puis exécutez l'application en mode débogage, vous pourrez d'abord trouver les réponses. main.

La vidéo suivante vous montrera comment identifier des objets / classes à l'aide de QuickWatch en mode de débogage de Visual Studio:

Astuce 3: Inspecter les enfants immédiats d'un contrôle

Trouver et accéder aux contrôles dans d'autres est le les développeurs de sujets les plus recherchés recherchent de l'aide. Heureusement, le .NET Framework est une technologie bien conçue qui nous fournit les outils et les options pour faciliter notre travail.

La propriété Control.Controls vous permettra d'accéder à la collection Control contenant les enfants immédiats d'un Control. Ceci est largement utilisé dans les applications .NET, mais aussi très populaire pour comprendre les contrôles enfants des contrôles Telerik complexes tels que RadGrid dans l'interface utilisateur Telerik pour ASP.NET AJAX .

Nous avons préparé une courte vidéo avec un exemple qui implique des contrôles WebForms génériques et montre également un exemple utilisant Telerik RadGrid.

Astuce 4: Découvrez les parents d'un contrôle

Dans ASP.NET, presque tous les composants héritent de la classe Control et la structure des pages WebForms est une arborescence complète de contrôles.

Il y a le Web Page Forms en tant que contrôle. La page a le formulaire comme contrôle enfant et le formulaire a le sien.

Dans cet esprit, le .NET Framework vous permet d'y accéder de haut en bas ou inversement.

Si vous deviez vérifier le parent d'un contrôle, vous pouvez utiliser la propriété Control.Parent . Cela vous montrera le parent immédiat du contrôle actuel.

Regardez la courte démo vidéo suivante montrant un exemple avec des contrôles WebForms génériques et Telerik RadGrid.

Astuce 5: Les NamingContainers sont des conteneurs intelligents

Les NamingContainers sont intelligents car ils prennent en charge l'une des parties les plus importantes du processus de développement. C'est en éliminant le risque d'avoir plusieurs contrôles avec le même ID sur la page. Ils sont particulièrement utiles lorsque des contrôles sont déclarés dans le balisage qui sera dupliqué et que la génération d'ID dynamiques n'est pas une option.

Un exemple serait de placer un contrôle à l'intérieur d'un répéteur qui répète ensuite le contrôle plusieurs fois, ou de placer le contrôle à l'intérieur RadGrid . Cela sera multiplié autant de fois que de lignes dans la grille.

Comme Control.Parent la propriété Control.NamingContainer renvoie également une référence à l'un des parents de le contrôle Current, mais pas nécessairement le Parent immédiat s'il ne s'agit pas d'un NamingContainer.

Voici deux exemples où le bouton est le grand enfant d'un conteneur de nommage. Dans ce cas, le bouton est à l'intérieur d'un TableCell, et celui à l'intérieur d'un TableRow / GridDataItem et une référence de GridDataItem est nécessaire.

Exemple utilisant Control.Parent :

Le parent immédiat du Button ID = "btn" est le GridTableCell et le parent du TableCell est le GridDataItem.

GridDataItem row = ( btn.Parent as GridTableCell) .Parent as GridDataItem;

Exemple utilisant Control.NamingContainer :

Le parent immédiat du Button ID = " btn "est le GridTableCell, mais la ligne Grid est nécessaire qui est un NamingContainer. L'utilisation de la propriété NamingContainer vous donnera un accès direct.

GridDataItem row = btn.NamingContainer as GridDataItem;

Regardez la courte démonstration vidéo suivante:

Astuce 6: Trouvez les contrôles par leur ID

En plus de vérifier les enfants d'un contrôle à l'aide de la propriété Control.Controls vous pouvez également rechercher des contrôles par leur ID en utilisant la méthode Control.FindControl () .

] Voici un exemple peu pratique de recherche du Button ID = "Button1" en accédant aux enfants du Control et en descendant dans l'arborescence d'objets.

Button btn = Panel1.Controls [0] .Controls [3] .Controls [2] [19659039] as Button;

Un exemple plus pratique serait d'utiliser la méthode FindControl pour trouver le Button ID = "Button1" par son ID.

Button btn = Panel1.FindControl ( "Button1 ") as Button;

Voici une courte vidéo démontrant que :

Vidéo bonus: Accéder à la valeur de clé de données de la ligne cliquée dans Telerik RadGrid

Vous trouverez ci-dessous une courte vidéo montrant un exemple d'utilisation de la méthode GetDataKeyValue () tout en inspectant le résultat dans Mode de débogage de Visual Studio et QuickWatch.

Conclusion

Vous en savez peut-être déjà beaucoup sur ASP.NET et avec un peu de compétences supplémentaires sur le débogage, vous pouvez élever cela à un tout autre niveau. Ces outils de débogage font partie du .NET Framework et de l'IDE de Visual Studio, vous pouvez donc les utiliser dans chaque application .NET. Que ce soit WinForms, ASP.NET MVC, .NET Core ou même WPF.

N'oubliez pas que lorsque vous travaillez avec des composants complexes tels que RadGrid, RadPivotGrid, RadTreeList ou RadAjaxManager / RadAjaxPanel, placez quelques points d'arrêt et démarrez le débogueur, et faites-en une habitude. Vous me remercierez plus tard :). Vous pouvez l'utiliser même si vous ne voulez vérifier certains résultats que lorsqu'un simple RadButton est cliqué.

Si vous souhaitez apprendre quelques conseils sur le débogage des applications côté client (CSS, JavaScript, HTML), je vous recommande de vérifier le Améliorez vos compétences de débogage avec Chrome DevTools Billet de blog qui partage quelques aspects du débogage d'une application côté client (dans le navigateur) à l'aide des outils intégrés du navigateur.

Vous pouvez également consulter la Telerik UI pour ASP.NET AJAX – Base de connaissances pour les divers scénarios personnalisés que nous avons créés pour nos clients en raison de leur forte demande.

Vos réflexions

Dépannez-vous ou déboguez-vous souvent votre application? Si oui, quelle approche adoptez-vous? Si vous souhaitez des conseils de débogage plus avancés, faites-nous signe et partagez vos demandes et vos idées dans la section commentaires ci-dessous.




Source link