Я хочу использовать проверку капчи для моей страницы входа в LoginController я написалMVC Captcha и сессия отличаются
[HttpGet]
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "None")] // This is for output cache false
public FileResult GetCaptchaImage()
{
CaptchaRandomImage CI = new CaptchaRandomImage();
this.Session["CaptchaImageText"] = CI.GetRandomString(5); // here 5 means I want to get 5 char long captcha
//CI.GenerateImage(this.Session["CaptchaImageText"].ToString(), 300, 75);
// Or We can use another one for get custom color Captcha Image
CI.GenerateImage(this.Session["CaptchaImageText"].ToString(), 300, 75, Color.DarkGray, Color.White);
MemoryStream stream = new MemoryStream();
CI.Image.Save(stream, ImageFormat.Png);
stream.Seek(0, SeekOrigin.Begin);
return new FileStreamResult(stream, "image/png");
}
в HTML части я написал
<span class="input-group-addon"style="width: 20%; background: transparent;border: none"><img src="@Url.Action("GetCaptchaImage","Login")" style="width:80px; height: 45px;margin-left: -12px" /></span>
Проблема заключается в том, что сессия и изображения не являются равный, потому что, когда загружается страница входа в систему, во-первых, captcha работает, а затем работает страница, поэтому всегда сессия хранит предыдущий код изображения. Как я могу решить эту проблему? Спасибо