Questionnaire ASP.net
On m'a récemment demandé imposé de faire un questionnaire comportant 20 questions sur ASP.net. Je trouve interessant de le blogger car il parle de sujet non traité sur le web. Si vous voulez des précisions sur les réponses de certaines questions n'hésiter pas à me le demander en commentaire.
1. Classiquement une requête vers un fichier aspx passe par
un httpmodule et un httphandler
plusieurs httpmodules et un httphandler
un httpmodule et plusieurs httphandlers
plusieurs httpmodules et plusieurs httphandler
2. La ligne suivante fait persister le texte “Hello World” dans le viewstate ?
<asp:label id="lbl1" runat="server" text="Hello World" />
Vrai
Faux
3. L’objet System.Web.UI.Page hérite indirectement de System.Web.UI.Control ?
Faux
Vrai
4. Le contrôle System.Web.UI.WebControls.Repeater possède une propriété ItemTemplate de type System.Web.UI.UI.ITemplate
Vrai
Faux
5. Nous avons créé un contrôle personnalisé, lorsqu’on le visualise dans le designer de Visual Studio celui-ci génère une erreur, nous voulons donc personnaliser le rendu dans le designer de Visual Studio. Pour cela nous allons :
(2 réponses)
Utiliser l’attribut System.ComponentModel.DesignerAttribute que l’on applique sur notre contrôle personnalisé
Surcharger la propriété Designer du contrôle personnalisé
Créer un designer qui hérite de System.Web.UI.Design.ControlDesigner
Surcharger la méthode RenderOnDesigner du contrôle personnalisé
6. Nous avons créé un contrôle personnalisé, ce contrôle possède une propriété TextColor de type System.Drawing.Color, nous pouvons alors renseigner la propriété TextColor dans la partie .aspx de la page directement comme ceci :
<cs:monlabel id="lbl2" runat="server" TextColor="purple" />
Grâce à quoi est-ce possible ?
Le type Color possède un TypeConverter
L’ajout d’un attribut TypeConverter sur la propriété
Le type String peut être implicitement casté en System.Drawing.Color
Un ControlBuilder que l’on renseigne via un ControlBuilderAttribute que l’on place sur le contrôle personnalisé
7. Les contrôles de validations valident les données seulement côté client, on est obligé de vérifier les données côté serveur
Faux
Vrai
8. Le type System.Web.UI.Page implémente System.Web.UI.IHttpHandler
Faux
Vrai
9. Il est possible de personnaliser le rendu HTML des contrôles ASP.net
Vrai, grâce aux adapter de rendu
Faux
Vrai, grâce à la section system.web/pages/controls du Web.config
10. Les pages asynchrones permettent
De faire des requêtes asynchrone vers la page en utilisant Ajax
De Libérer le thread exécutant la requête du pool ASP.net lors de phase d’attente comme une requête vers un WebService
11. Pour une application ASP.net
Chaque page s’exécute dans un processus distinct
Chaque page s’exécute dans un thread distinct
Chaque page s’exécute dans un AppDomain distinct
12. Dans IIS6, un pool d’application permet de :
Regrouper différents site web afin qu’ils s’exécutent au sein d’un même processus, chaque site s’exécutent alors dans un AppDomain séparé
Regrouper différents site web afin qu’ils s’exécutent au sein d’un même processus, chaque site s’exécute au sein du même AppDomain
Cela n’a aucune incidence au niveau des AppDomain et des processus, c’est seulement un regroupement administratif afin de pouvoir administrer un groupe de site
Les pools d’applications n’existent pas dans IIS6
13. System.Web.UI.Page, MasterPage et UserControl héritent d’un parent commun : TemplateControl.
Faux
Vrai
14. La classe System.Web.UI.Page possède une méthode LoadTemplate qui permet de renseigner des propriétés de type ITemplate
Faux
Vrai
15. Lors de l’exécution d’une page, un arbre de contrôle est créé. A la phase de rendering la méthode render du nœud principale est invoqué, qui va lui-même invoqué récursivement les méthodes render de tous ses contrôles enfants
Faux
Vrai
16. Une page ASP.net est obligatoirement compilée avant exécution
Vrai
Faux, on peut modifier ce comportement grâce à la directive de page CompilationMode
Faux, on peut modifier ce comportement dans IIS
17. On peut utiliser plusieurs langages de la plate-forme .net au sein d’un même site web
Faux
Vrai
18. L’interface IHttpHandler possède la ou les méthodes
ProcessRequest
StartRequest
InitRequest
Render
Page_Load
19. On peut binder un Gridview avec un DataSet, le gridview va alors afficher toutes les données de toutes les tables présente dans le DataSet
Vrai
Faux
20. Nous voulons faire un contrôle personnalisé qui déclenche des événements suite à un postback. Notre contrôle doit :
Surcharger la méthode OnPostBack du contrôle personnalisé
Implémenter l’interface IPostBackEventHandler
Implémenter l’interface IPostBackDataHandler
Hériter de PostBackControl