2009-03-26 6 views

答えて

7

これは間違いなく可能です。しかし、ASP.NetのようにSilverlight経由で直接サーバーに話すことはできません。これを達成するには、Webサービスを使用する必要があります。

これを行うには、いくつかの方法があります。
1.はWebサービス(旧ASMX;これは、セキュリティ上の問題を持っている)(複雑なシステムの場合)
2. WCF
3. ADO.Netデータサービス(これはおそらくこれを達成するための最も容易かつ迅速な方法です)ADO.Net Entity Frameworkを使用します。 (今のSilverlight 3用CTPで)
4. RIA Servicesの

1

いつでもフォームアプリケーションがロードされるウェブページでsliverlightアプリをホストすることができます。

WPFとフォームを直接インターグレートすることも可能です。

2

ただ、こっちにいくつかのビデオを見てみましょう:
http://silverlight.net/learn/videocat.aspx?cat=2#HDI2WebServices
基本的に、あなたはあなたのデータのLINQを持つモデル(またはいくつかの他のORM)を構築、との選択/更新/削除/ ...メソッドを介してそのデータを公開Webサービス(新しいWCFまたは古いもの、ASMX)を使用し、それをSilverlightで消費します。 Silverlightは自動的に通信のためのプロキシクラスを作成します。 Silverlightでは豊富なデータバインディング機能を使用できるため、データの転送、シリアル化、UIからの読み込みなどを心配する必要はありません。
silverlight.netのビデオチュートリアルでは、SL2のプログラミングに関して、ほとんどのことがとてもうまく説明されています。

1

それとも皆がいつもあなたがいるので、これらすべてがとびきり使用していないと仮定すると思われるように、サーバー上のASP.NETを実行していません"Web Service"のもの、you can just use WebClient and make your POST that way

...あなたとあなたのウェブサーバの頭文字をとっているたくさんのヒープを重ね合わせる必要があると誰もがなぜ思っているのか分かりません。あなたの古いjavascriptコードは、WCF、SOAPなどを使用してバックエンドとインターフェースしていませんでした。なぜSilverlightは必要ですか?単純にする! Silverlightは、昔ながらの時間をかけてテストされたHTTP POSTを作ることに満足しています。

恥知らずなことではありません。あなたがjavascriptを使用している場合のようにバックエンドに電話するのが簡単にできるように私は自分のプロジェクトで使用するライブラリに取り組んでいます。WebBuddy

0

実際にはSilverlightでhtmlページを作成し、データで埋めてサーバーに投稿する簡単な方法があります。 Silverlightのブラウザ相互運用機能を使用して、プログラムでHTMLを作成し、要素を設定します。

//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"); 

これは簡単!

元回答:This Answer

関連する問題