hamedsabzian
یک شنبه 23 خرداد 1389, 18:31 عصر
با سلام خدمت دوستان عزیز!
من از کنترل MSCaptcha به عنوان تصویر امنیتی استفاده می کنم. و البته ViewState صفحات رو هم فشرده می کنم (خیلی حال میده! توصیه می کنم حتما این کار رو بکنید).
تا حالا مشکلی نیست. این هم کد Captcha:
<%@ Register Assembly="MSCaptcha" Namespace="MSCaptcha" TagPrefix="SecImage" %>
<SecImage:CaptchaControl ID="CC1" runat="server" NoiseColor="MediumBlue" ForeColor="#3366FF"
CaptchaHeight="40" CaptchaWidth="150" Font-Size="5px" ValidationGroup="A" CaptchaBackgroundNoise="Extreme"
CaptchaLineNoise="High" FontColor="CornflowerBlue" LineColor="Cornsilk" />
این هم به web.config اضافه شده:
<httpHandlers>
<add path="CaptchaImage.axd" verb="GET" type="MSCaptcha.CaptchaImageHandler, MSCaptcha" />
</httpHandlers>
وقتی MSCaptcha رو توی یک UserControl میزارم و UserControl رو توی صفحه، وقتی میخوام Captcha رو Validate کنم با خطایی مبنی بر این که Key مقدارش نباید null باشه مواجه میشم. (عکس در ضمایم موجود است). وقتی دیگه ViewState رو فشرده نمی کنم، مشکل حل میشه. (خارج UserControl ها در هردو حالت هیچ مشکلی نیست)
Validate:
CC1.ValidateCaptcha(TBCC.Text);
if (!CC1.UserValidated)
{
Utility.ShowReport(Page, "کد امنیتی اشتباه است", MessageType.Error);
return;
}
به نظر میاد MSCaptcha یه چیزی توی ViewState ذخیره میکنه و وقتی من Validation رو انجام میدم، هنوز ViewState بازیابی نشده، پس خطا میده.
دوستان بزرگوار، لطف کنن بگن چرا این اتفاق می افته؟
نمی تونم بیخیال استفاده از MSCaptch توی UserControl بشم. لطفا راه کار بدید.
با تشکر!
ضمایم:
1. عکس پیغام خطا.
2. MSCaptcha.dll (متاسفانه سورسش رو ندارم)
من از کنترل MSCaptcha به عنوان تصویر امنیتی استفاده می کنم. و البته ViewState صفحات رو هم فشرده می کنم (خیلی حال میده! توصیه می کنم حتما این کار رو بکنید).
تا حالا مشکلی نیست. این هم کد Captcha:
<%@ Register Assembly="MSCaptcha" Namespace="MSCaptcha" TagPrefix="SecImage" %>
<SecImage:CaptchaControl ID="CC1" runat="server" NoiseColor="MediumBlue" ForeColor="#3366FF"
CaptchaHeight="40" CaptchaWidth="150" Font-Size="5px" ValidationGroup="A" CaptchaBackgroundNoise="Extreme"
CaptchaLineNoise="High" FontColor="CornflowerBlue" LineColor="Cornsilk" />
این هم به web.config اضافه شده:
<httpHandlers>
<add path="CaptchaImage.axd" verb="GET" type="MSCaptcha.CaptchaImageHandler, MSCaptcha" />
</httpHandlers>
وقتی MSCaptcha رو توی یک UserControl میزارم و UserControl رو توی صفحه، وقتی میخوام Captcha رو Validate کنم با خطایی مبنی بر این که Key مقدارش نباید null باشه مواجه میشم. (عکس در ضمایم موجود است). وقتی دیگه ViewState رو فشرده نمی کنم، مشکل حل میشه. (خارج UserControl ها در هردو حالت هیچ مشکلی نیست)
Validate:
CC1.ValidateCaptcha(TBCC.Text);
if (!CC1.UserValidated)
{
Utility.ShowReport(Page, "کد امنیتی اشتباه است", MessageType.Error);
return;
}
به نظر میاد MSCaptcha یه چیزی توی ViewState ذخیره میکنه و وقتی من Validation رو انجام میدم، هنوز ViewState بازیابی نشده، پس خطا میده.
دوستان بزرگوار، لطف کنن بگن چرا این اتفاق می افته؟
نمی تونم بیخیال استفاده از MSCaptch توی UserControl بشم. لطفا راه کار بدید.
با تشکر!
ضمایم:
1. عکس پیغام خطا.
2. MSCaptcha.dll (متاسفانه سورسش رو ندارم)