Question

Quelqu'un a utilisé ADO.NET Services de Données comme source de données pour Adobe Flex applications?Dans ce cas, les histoires de réussite ou des tragédies à éviter?Si vous ne l'utiliser, comment avez-vous gérer la sécurité?

Était-ce utile?

La solution

J'utilise WebORB pour .NET pour faire Flex remoting et ensuite utiliser DLINQ sur le serveur.Une chose la plus délicate à propos de l'utilisation de LINQ avec WebORB est que WebORB utilise la Réflexion pour récupérer automatiquement toutes les relations de l'objet(s) que vous de retour à la flexion.Cela provoque de graves pénalités de temps que LINQ utilise le chargement paresseux pour charger des relations.Pour éviter cela, je fais quelque chose comme ce qui suit:

Remplacer votre DataContext du constructeur et ajoutez le code suivant:

this.DeferredLoadingEnabled = false;
DataLoadOptions dlo = new DataLoadOptions();
dlo.LoadWith<Order>(q => q.Payments);
dlo.LoadWith<Order>(q => q.Customer);
this.LoadOptions = dlo;

Cela dit le DataContext de désactiver le chargement différé des relations et indique spécifiquement qu'il se charge juste les relations que vous voulez, sans chargement paresseux.De cette façon, WebORB n'est pas à l'origine de tout chargement paresseux à se produire à travers la Réflexion et le nombre de relations d'être transféré à la Flex est maintenu à un minimum.

Espérons que cela vous aide en quelque sorte.C'est certainement l'un de ces petits "pièges" lorsque vous travaillez avec Flex/WebORB et LINQ.

Autres conseils

Oui, nous utilisons Flex avec .Net web services largement.

Flex ne peut pas gérer .Net jeux de données, ou en effet de xml complexes types.Nous avons constaté qu'il était préférable de garder relativement simple xml de sortie.

Toutefois, si vous le faites, il peut gérer .Net web services, fine:

<mx:WebService id="myDataService" showBusyCursor="true">
    <mx:operation name="WebMethodName" 
                  resultFormat="object" 
                  result="functionFiredOnComplete();">
</mx:operation>
</mx:WebService>

public function load():void
{
    myDataService.loadWSDL( "web method's wsdl" );
    myDataService.WebMethodName.send( params );
}

public function functionFiredOnComplete():void
{           
    // get data
    var myData:Object = myDataService.WebMethodName.lastResult;
    ...

Il a Demandé à propos de ADO.NET Services de Données pas de service web

Flex ne peut faire GET et POST Flex ne pas comprendre les messages de Réponse HTTP

Afin d'avoir un Flex parler ADO.NET les services de données, vous devez;
1.utiliser un serveur proxy, mais vous devez trouver ou construire un vous-même
2.modifier les requêtes entrantes et utiliser $method=FUSIONNER et ainsi de suite (même en tant que proxy)
3.utiliser un autre as3 httpService client, il y a quelques opensource initiatives

Ensuite, vous devez savoir comment faire pour publier des données, et il a coûté beaucoup de temps lorsque vous souhaitez créer un nouvel enregistrement avec JSON et spécifier un Id qui a un lien vers une autre table.Cela, parce que vous ne pouvez pas simplement mettre à jour le entier, mais au lieu de cela, vous devez créer un lien de chaîne, il ne se sent pas vraiment facile.

Alors bien sûr, il peut être fait, mais hors de la boîte vous avez vraiment à faire vous-même.Je sais que Flash Builder 4 viendra avec un RESTE d'importation, cela pourrait accélérer les choses, mais hve pas d'expérience pour que

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top