flag_en.png English version - flag_fr.png Version française

Description du project

DynAjax is a Javascript / Ajax / ASP.Net / C# Framework easing dynamic calls to server methods directly from JavaScript code.
The object serialization is based on JSON, permitting complex objects exchange.
dynAjax_schema.png

Téléchargez la toute dernière version (v1.06)

DynAjax v1.06 - mise en ligne le 23 oct. 2008

Qu'est-ce que le framework DynAjax ?

DynAjax est un framework de développement basé sur C# .Net / ASP .Net côté serveur et Prototype côté client, permettant des appels dynamiques de méthods serveur via le code Javascript du client.

Pour qui est fait DynAjax ?

Pour tout développeur C# / ASP .Net qui veut ajouter facilement une interface Ajax efficace et très simple d'utilisation à ses développements personnels ou professionnels (j'ai moi-même créé ce framework pour mes besoins professionnels).

Qui utilise DynAjax ?

DynAjax est utilisé dans le monde professionnel par plusieurs sociétés comme SGCIB, e-TimeTracker, Alauzis etc.

Que permet DynAjax ?

Imaginez que vous développez une application web professionnelle et avez besoin de sauvegarder un texte saisi par un utilisateur, le tout en Ajax sans recharger la page à la soumission des données. Evidemment, il est possible de définir l'appel Ajax en utilisant la méthode XmlHttpRequest et vérifier le code retour serveur et récupérer les données renvoyées pour savoir si l'enregistrement s'est bien déroulé, mais c'est long à mettre en place et difficile à débugger.
Avec DynAjax, vous pouvez sauvegarder le texte via le code JavaScript suivant (supposez que vous avez écrit la méthode publique 'saveText' dans la classe 'myClass' qui retourne "ok" si tout s'est bien déroulé) :
var response = MyClass.saveText(myText);
if (response == "ok") {
    --- code here ---
}

Très simple, n'est-ce pas ?
Visitez la page d'exemples pour avoir un grand nombre d'exemples et de codes sources.

Est-ce que les appels DynAjax sont synchrones ou asynchrones ?

C'est comme vous voulez : Si vous voulez effectuer un appel synchrone, utilisez cette syntaxe :
var response = MyClass.myMethod(myArgs);
if (response >= 2) {
    --- code here ---
}

Pour un appel asynchrone, utilisez cette seconde syntaxe:
MyClass.myMethod(myArgs, function(response) {
        if (response >= 2) {
            --- code here ---
        }
    });

DynAjax reconnaît automatiquement le type d'appel que vous voulez effectuer, il gèrera pour vous la connection au serveur qui correspond.

Quels types de données peuvent être retournée par DynAjax au client Javascript ?

Presque tous les types sont acceptés. En effet, les données étant renvoyées au format JSON, les types de données les plus complexes sont pris en charge.
Voici une liste des types de données pris en charge:
  • Chaînes de caractères
  • Nombres (int, decimal...)
  • Booléens
  • Tableaux
  • Tables de hashage
  • Objets complexes (instances de classes, tableaux, tables de hashage, tableaux d'autres objets complexes etc.)
  • La valeur "null"

Comme vous pouvez le voir, presque tout est possible : vous pouvez, par exemple, si vous voulez développer un site comme eBay, appeler une méthode qui renvoie une liste de produits (instances de classes) afin de les afficher côté client - vous pouvez alors parcourir la liste renvoyée et manipuler les informations comme si vous étiez côté serveur en C#.
Veuillez visiter le site de description Json pour plus d'informations sur le format d'échange.

A propos de la sécurité

DynAjax propose des tests garantissant la sécurité sur toutes les méthodes que vous pouvez appeler.
En fait, chaque méthode est définie dans un fichier de configuration XML, et vous pouvez choisir, pour chacune d'elle, si elle nécessite ou non une connection à votre application Web.
Ainsi, les hackers potentiels sont incapables d'appeler les méthodes distantes sans une connection préalable.

Est-ce difficile d'installer / mettre en place DynAjax sur mon application Web ?

Non, il suffit de copier ces 8 fichiers dans le répertoire de votre application Web :
  • DynAjaxHandler.aspx et DynAjaxHandler.cs - le handler Ajax - il réceptionne toutes les demandes Ajax et les traite
  • dynAjaxScript.aspx et dynAjaxScript.cs - fichiers JavaScript dynamiques - ils renvoient au client le code JavaScript permettant d'appeler aussi simplement les méthodes serveur (c'est bien du JavaScript, bien que l'extension soit .aspx)
  • prototype.js - le framework JavaScript prototype
  • Newtonsoft.Json.dll - une librairie Json pour .Net
  • log4net.dll - librairie log4net afin de tracer les appels et erreurs éventuelles de DynAjax
  • dynAjaxConfig.xml - le fichier de configuration XML de DynAjax

Copiez ces 8 fichiers dans le répertoire de votre application Web, il ne vous reste plus à présent qu'à mettre à jour le fichier de configuration dynAjaxConfig.xml afin de définir vos méthodes.
Plutôt simple, non ?
Veuillez télécharger le tutoriel DynAjax tutorial 01 pour voir la configuration de DynAjax en pas à pas.

Comment est-ce que je configure les méthodes exposées par DynAjax ?

Vous pouvez visiter la page Wiki de configuration, tout y est expliqué en détail.

Liste des fonctionnalités

  • Appel de méthodes serveur directement à partir du codeJavascript (web remoting)
  • Gestion paramétrable des exceptions générées par le serveur - traitements spécifiques possibles côté client
  • Appels synchrones ou asynchrones
  • Echange de données complexes basé sur JSON
  • Module de sécurité
  • Listing des méthodes exposées par le serveur possible (en mode debug) sur une page HTML (très utile pendant le développement)

Qui gère ce framework ?

Moi (M. Benoît BEGUIN) et ma société Odesys. N'hésitez pas à nous contacter (admin@dynajax.org) pour avoir des informations, des conseils, remonter des bugs ou proposer des nouvelles fonctionnalités.

Last edited Jan 18, 2009 at 1:31 PM by magicben, version 10

Comments

No comments yet.