したがって、WebClientクラスを使用してページを GET することができます。
(MVCではなくasp.net WebFormsを実行していると想定しています)
asp.net ページは空白のページである必要があります。コード ビハインドでは、クエリ文字列を読み取り、必要な処理を行います。成功または失敗に応じて、適切な応答をResponse.Write();
.
Silverlight コードでは、ページを要求するだけで、asp.net ページから応答を読み取ることができます。
Asp.net:
var encyString = Request.QueryString["str"];
//some logic
Response.Write("Success");
シルバーライト:
WebClient client = new WebClient();
client.DownloadStringCompleted +=
new DownloadStringCompletedEventHandler(
client_DownloadStringCompleted);
では、 DownloadStringAsyncButton1_Click
を呼び出して、ユーザーが指定した番号を含む完全な URL を渡します。
private void Button1_Click(object sender, RoutedEventArgs e)
{
string encryptedString = "example";
client.DownloadStringAsync
(new Uri("http://testsite.com/mypage.aspx?"+encryptedString));
}
DownloadStringCompleted イベント ハンドラーで、イベント引数の Error プロパティが null であることを確認し、応答またはエラー メッセージをテキスト ブロックに出力します。
void client_DownloadStringCompleted(object sender,
DownloadStringCompletedEventArgs e)
{
if (e.Error == null)
resultBlock.Text = "Using WebClient: "+ e.Result;
//will be Response.Write();
else
resultBlock.Text = e.Error.Message;
}
上記のコードは、このブログから盗用されました。
スニファーはあなたのリクエストを読み取ることができることを覚えておいてください。セキュリティを強化する必要がある場合は、SSL を使用することをお勧めします。おそらく、このデータを送信するより安全な方法は、asp.net ページに POST することです。
この記事では、Silverlight からページに POST する方法について説明します。
HTH