Developpez.com

Le Club des Développeurs et IT Pro

« ASP.NET et Web Tools 2012.2 » sort en RC

Avec de nouvelles fonctionnalités pour WebForms, MVC, WebAPI et SignalR

Le 2012-12-18 14:28:56, par Hinault Romaric, Responsable .NET
Le Web évolue rapidement, et Microsoft est conscient de cela. L’éditeur a ainsi adopté un cycle de mise à jour pour ASP.NET plus rapide que celui de Visual Studio.

La société compte donc publier une mise à jour pour sa plateforme de développement Web ASP.NET en début d’année prochaine.

Les développeurs qui veulent commencer à « jouer » avec les nouvelles fonctionnalités de cette mise à jour peuvent déjà télécharger sa version Release Candidate (RC) qui vient d’être publiée par les équipes ASP.NET et Visual Web Developer de Microsoft.




« ASP.NET et Web Tools 2012.2 » RC étend le runtime ASP.NET existant et ajoute de nouveaux outils Web à Visual Studio 2012 pour WebForms, MVC, WebAPI, etc. Il s’agit des fonctionnalités suivantes :

  • de nouveaux modèles de projets ASP.NET MVC. la création d’applications Facebook est désormais plus facile avec le modèle Facebook, qui permet en quelques étapes de créer une application qui permet d'interagir avec le réseau social. Le nouveau modèle « Single Page Application » permet aux développeurs de créer des applications Web interactives côté client à l’aide de jQuery, Knockout et ASP.NET Web API ;
  • le support de la communication en temps réel avec ASP.NET SignalR. SignalR est une bibliothèque client/serveur qui permet aux clients basés sur un navigateur et aux composants serveur basés sur ASP.NET d'avoir une conversation à étapes multiples et bidirectionnelle.
  • le support de l’IntelliSense pour Knockout et l’ajout de la prise en charge de JSON en tant que classe ;
  • l’introduction de nouvelles fonctionnalités pour ASP.NET Web API, y compris le support d’OData, l’ajout des fonctions de traçabilité, de monitoring et de génération d’une page d’aide pour une API Web ;
  • des améliorations de l’inspecteur de page, qui offre désormais de meilleures performances pour JavaScript et CSS, dont la capacité de voir les mises à jour en temps réel d’un fichier CSS ;
  • l’unification de l’expérience de publication pour une application Web et un projet de type site Web, ainsi que l’ajout des options de publication sélective ;
  • l’intégration de la nouvelle fonctionnalité ASP.NET Friendly URL. Cette fonction rend facile la génération des URL sans l’extension .aspx. Elle permet également au développeur d’ajouter plus facilement le support du mobile à son application Web ;
  • la mise à jour des modèles de projets Web dans Visual Studio 2012.


Cette mise à jour est livrée comme des packages NuGet supplémentaires. Ce qui signifie qu’il ne peut avoir aucun problème de compatibilité avec les projets existants.

Télécharger « ASP.NET et Web Tools 2012.2 » RC

Consulter les notes de version

Source : Blog Scott Guthrie

Et vous ?

Que pensez-vous de ces nouvelles fonctionnalités ?
  Discussion forum
5 commentaires
  • stailer
    Membre chevronné
    Les tutoriaux ne sont pas à jour , notamment la vidéo dont je parle :
    http://www.asp.net/vnext/overview/si...nd-web-sockets.
    De plus j'utilise ASP.NET MVC et pas WebForms.

    Pour moi ça ne fonctionne pas avec IIS Express mais avec mon IIS Local.
    J'ai lu un article ou apparemment IIS8 est requis (à vérifier).

    Donc rapidement, pour ceux qui veulent tester avec ASP.NET MVC (à partir du 3) / IIS8 :

    1 - Installation :
    Je vous conseille de passer par NuGet comment mentionné dans l'actu :
    Install-Package Microsoft.AspNet.SignalR -Pre
    Page du projet : http://nuget.org/packages/microsoft.aspnet.signalr

    2 - Dans le Global.asax.cs :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    using Microsoft.AspNet.SignalR;
    
    protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();
    
                RegisterGlobalFilters(GlobalFilters.Filters);
    
                RouteTable.Routes.MapHubs();
    
                RegisterRoutes(RouteTable.Routes);
            }
    3 - Côté C# :
    A la racine de votre application, par exemple, ajoutez un nouveau Hub :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    using Microsoft.AspNet.SignalR.Hubs;
    
    namespace MvcApplication2.signalr // signalr très important
    {
        [HubName("MyHub")]
        public class MyHub : Hub
        {
            [HubMethodName("Hello")]
            public void Hello(string data)
            {
                Clients.All.addMessage(data);
            }
        }
    }

    4 - Côté client

    Dans votre vue Index, du contrôleur Home (Razor dans mon exemple) :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    <html>
    <head>
        <title>Index</title>
        <script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")"></script>
        <script src="@Url.Content("~/Scripts/jquery.signalR-1.0.0-rc1.min.js")"></script>
        <script src="@Url.Content("~/signalr/hubs")"></script>
        <script type="text/javascript">
            $(document).ready(function () {
    
                var mClient = $.connection.MyHub;
                mClient.client.addMessage = function (data) {
                    alert(data);
                };
    
     
                $("#mbutton").bind('click', function () {
                    mClient.server.Hello("Bonjour à tous les clients webs !");
                });
    
    
                mClient.connection.start();
            });
        </script>
    </head>
    <body>
        <div>
            <input type="button" id="mbutton" value="Appel multi client" />
        </div>
    </body>
    </html>
    Pour tester, compilez et lancez l'application sur IE et Firefox par exemple, à l'adresse http://votreserveur/MonApplicationMvc puis sur un des deux navigateurs cliquez sur le bouton.
    Sur les 2 navigateurs l'alerte js devrait s'afficher :
    "Bonjour à tous les clients webs !"

    Un exemple vraiment pas très fun mais fonctionnel

    Voilou...
  • stailer
    Membre chevronné
    Concernant SignalR, je viens regarder la vidéo tutoriel et je suis vraiment bluffé.
    Développer un tchat, un système de notification ou tout autre fonctionnalité permettant de partager des infos entre utilisateurs connectés est hyper simple.

    Fini les timers et les autres bricolages qui ne mènent à rien, avec ça on a un vrai outil utilisant les websockets.

    Bien sûr il existait déjà il me semble d'autres outils pour réaliser ce type de développement mais là c'est d'une simplicité à pleurer : c'est entièrement intégré, quelques lignes de code suffisent.

    Le 1er cas d'utilisation que je pense utiliser : bloquer un formulaire de saisie (un client par exemple) pour empêcher un autre utilisateur de le saisir en même temps.
  • alex_vino
    Membre émérite
    Envoyé par stailer
    Le 1er cas d'utilisation que je pense utiliser : bloquer un formulaire de saisie (un client par exemple) pour empêcher un autre utilisateur de le saisir en même temps.
    Et si ton utilisateur ouvre cette page et continue de travailler dans un autre onglet? Cela voudrait dire que plus personne ne pourrais éditer ces données.
  • lutecefalco
    Rédacteur
    SignalR utilise les websockets seulement si le navigateur les supporte.
    Sinon, c'est à base de long polling & co