Comment le client Flash (SWF) doit-il communiquer avec .NET côté serveur?

J’ai donc ASP.NET s’exécutant sur le serveur dans IIS7. Je pense que je vais utiliser MVC pour certaines pages statiques et certains formulaires dynamics de base, mais la majeure partie du côté client est écrite en Flash / ActionScript.

Quel est le moyen le plus simple, le plus succinct et le plus sec de créer / générer des procurations entre client et serveur?

Quel format dois-je utiliser?

  • JSON
  • SAVON
  • Binaire

Et quel protocole de communication devrais-je utiliser?

  • WCF
  • HTTP via les actions du contrôleur MVC

Il me manque probablement un format ou un protocole, mais fondamentalement, il devrait être relativement efficace, ne pas nécessiter beaucoup de code de plomberie et, de préférence, générer automatiquement des mandataires côté client.

Les services Web WSDL sont très faciles à consumr dans Flash et simples à créer dans .NET.

Je vous suggérerais également de regarder au moins AMF, qui est le format binary propriétaire d’Adobe pour l’échange de données entre client et serveur. Il existe plusieurs implémentations pour .NET, notamment amf.net et weborb.

Je ne l’ai jamais utilisé, mais j’ai entendu de très bonnes choses à propos de weborb: http://www.themidnightcoders.com/products/weborb-for-net/overview.html

J’ai consommé du JSON dans swfs .. assez simple en utilisant a3corelib

J’ai eu une bonne expérience avec FluorineFX.net – Il semble être très similaire à WebORB mais son source libre et ouverte. Je ne pense pas que Flash / ActionScript prend en charge WCF ..

Vous devriez noter que (dans la recherche que j’ai faite) il n’y a aucun moyen d’envoyer un paquet du serveur au client – le client doit faire toutes les demandes.

Nous utilisons Weborb dans mon travail. Je le recommande fortement. Il y a quelques pièges dans la façon dont Weborb gère la sérialisation des deux côtés. Assurez-vous simplement que, dans vos classes .NET, les noms de membres ne sont pas identiques aux noms de classes.

EDIT: La version gratuite de Weborb destinée aux développeurs devrait répondre aux besoins de la plupart des utilisateurs. Weborb a le net avantage de la vitesse, car il utilise le format binary AMF pour parler sur le réseau au lieu de JSON ou SOAP.

Je seconde WebORB. Il utilise le protocole AMF, qui est le moyen le plus rapide d’entrer et de sortir des données. Vous pouvez facilement exposer vos services .NET et faire entrer et sortir des objects. Vous pouvez utiliser RMI et Messaging. C’est un produit gratuit et fait un excellent travail …

WCF supporte Flash ..! Fait avec “Service WCF compatible AJAX” et WebInvoke (Method = “POST”)