私の状況を考慮してください:
HTTP POSTリクエストを学校のサーバーの1つに送信して情報を取得するWindows Phone 7アプリケーションを開発しています。Web サイトにアクセスすると、認証コードの画像が表示されます。学校番号、パスワード、および認証コードを入力してログインする必要があります。その後、必要なものにアクセスできます。
私は、サーバーがクライアントにクッキーを書き込んで、あなたがログインしていることを確認することを確認しました。ログイン処理を実装したい場合は、getVerifyCode() メソッドの uploadStringCompleted メソッドにコードを記述する必要があります。ベストプラクティスではないと思います。例えば:
(注: これは単なる例であり、実際のコードではありません。検証コードを取得するには、GET メソッドの HTTP 要求が必要なだけなので、問題を説明できると思います)
public void getVerifyCode()
{
webClient.uploadStringCompleted += new uploadStringCompleted(getVerifyCodeCompleted);
webClient.uploadStringAsync(balabala, balabala, balabala);
}
private void getVerifyCodeCompleted(object sender, uploadStringCompletedArgs e)
{
if(e.Error == null)
{
webClient.uploadStringCompleted -= getVerifyCodeCompleted;
// start log in
// I don't submit a new request inside last request's completed event handler
// but I can't find a more elegent way to do this.
webClient.uploadStringCompleted += loginCompleted;
webClient.uploadStringAsync(balabala, balabala, balabala);
}
}
一言で言えば、上記のような問題を解決するためのベストプラクティスまたはデザインパターンは何ですか?
よろしくお願いします。