ReCaptcha.net NuGetパッケージhttp://recaptchanet.codeplex.com/wikipage?title=How%20to%20Use%20Recaptcha%20in%20an%20ASP.NET%20MVC%20Web%20Applicationを使用して、MVC3にReCaptchaを実装しました。非常に遅い場合があり、これらのページにボリュームがある可能性があるため、これを非同期として実装できるかどうかを確認したい場合を除いて、すべて正常に機能しています。
指示は言う
RecaptchaVerificationResult recaptchaResult = await recaptchaHelper.VerifyRecaptchaResponse();
if (recaptchaResult != RecaptchaVerificationResult.Success)
{
ModelState.AddModelError("", "Incorrect captcha answer.");
}
ただし、これはMVC4await構文を使用しています。MVC3非同期フレームワーク内でこのメソッドを使用する方法はありますか?
私は簡単なハックを試みました。コントローラーをAsyncControllerに変換し、メソッドにAsyncサフィックスを付けて名前を付け、アクション全体をTask.Factory.StartNew(()=> {...});でラップしました。非非同期構文を使用している間、ただしRecaptchaVerificationHelper recaptchaHelper = this.GetRecaptchaVerificationHelper(); HTTPContextの欠如について不平を言います。
だから、MVC3でReCaptchaを非同期で行うのを誰かが助けてくれますか?