2009-03-26 9 views

Répondre

7

Vous pouvez certainement le faire. Mais vous ne pouvez pas parler à un serveur directement via Silverlight comme vous pouvez le faire avec ASP.Net. Vous devez utiliser des services Web pour y parvenir.

Il y a plusieurs façons de le faire:
1. Utilisez Web Services (Old ASMX, ce qui a des problèmes de sécurité)
2. Utilisez WCF (Pour les systèmes complexes)
3. Utilisez Services de données ADO.Net (C'est probablement le moyen le plus simple et le plus rapide d'y parvenir) en utilisant ADO.Net Entity Framework.
4. Utilisez RIA Services (CTP En maintenant Silverlight 3)

1

Vous pouvez toujours héberger l'application sliverlight dans une page Web que l'application formulaires charge.

Il est également possible d'intégrer directement WPF et des formulaires.

2

Il suffit de jeter un oeil à quelques vidéos ici:
http://silverlight.net/learn/videocat.aspx?cat=2#HDI2WebServices
fondamentalement, vous construisez votre modèle de données avec LINQ (ou un autre ORM), exposer les données par Sélectionner/Mise à jour/Supprimer/... méthodes avec service Web (nouveau WCF ou ancien, ASMX), et consommer cela dans Silverlight. Silverlight crée automatiquement des classes de proxy pour la communication. Dans Silverlight, vous pouvez utiliser ses capacités de liaison de données, de sorte que vous n'avez pas à vous soucier de la manière dont les données sont transférées, sérialisées, lues à partir de l'interface utilisateur et similaires.
Les tutoriels vidéo sur le site web silverlight.net expliquent la plupart des choses concernant la programmation de SL2 vraiment bien.

1

Ou vous n'êtes pas en cours d'exécution ASP.NET sur le serveur comme tout le monde semble toujours supposer que vous êtes, et donc ne pas utiliser tous ces reprisés "Web Service" choses, you can just use WebClient and make your POST that way.

... Je ne sais pas pourquoi tout le monde pense qu'il est nécessaire de superposer tant de tas d'acronymes goo entre vous et votre serveur web. Votre ancien code javascript n'interférait pas avec votre backend en utilisant WCF, SOAP ou autre, pourquoi Silverlight? Rester simple! Silverlight est plus qu'heureux de faire des POST HTTP réguliers, démodés et à l'ancienne.

Et pour ne pas être honteux, j'ai travaillé sur une bibliothèque que j'utilise dans mes projets pour faciliter l'appel de votre backend comme si vous utilisiez javascript: WebBuddy.

0

En fait, il existe un moyen facile de faire une page html dans Silverlight et de le remplir avec des données et l'envoyer au serveur. il utilisera l'interopérabilité du navigateur Silverlight pour créer par programmation un code HTML et y définir des éléments.

//Creates a blank html document 
var htmldoc = System.Windows.Browser.HtmlPage.Document; 
// Returns a Reference type to the body of html page 
var body = htmldoc.Body; 

// Create a <form> element and add it to the body 
var newForm = htmldoc.CreateElement("form"); 
newForm.SetAttribute("action", targetUrl); 
newForm.SetAttribute("method", "post"); 
body.AppendChild(newForm); 

//Add your elements to your form 
HtmlElement input1 = htmldoc.CreateElement("input"); 
input1.SetAttribute("type", "hidden"); 
input1.SetAttribute("name", "someName"); 
input1.SetAttribute("value", "someValue"); 
newForm.AppendChild(input1); 

//submit your form 
newForm.Invoke("submit"); 

C'est simple!

d'origine Réponse: This Answer

Questions connexes