迁移我的网站后,MSCaptcha图像不显示

时间:2014-05-05 03:50:46

标签: .net captcha

这是web.config代码。

<system.web>
  <httpHandlers>
    <add verb="GET" path="CaptchaImage.axd" type="MSCaptcha.captchaImageHandler, MSCaptcha" />
  </httpHandlers>
....
</system.web>

<stsem.webServer>
  <handlers>
    <add name="MSCaptcha.captchaImageHandler" verb="GET" path="CaptchaImage.axd" type="MSCaptcha.captchaImageHandler, MSCaptcha" resourceType="Unspecified" />
  </handlers>
....
</system.webServer>

在我的网页上:

<%@ Register Assembly="MSCaptcha" Namespace="MSCaptcha" TagPrefix="cc1" %>

<cc1:CaptchaControl ID="CaptchaControl1" runat="server" Height="20px" 
                    Width="180px" CaptchaLength="5" BackColor="White" 
                    EnableViewState="False" />

当我查看HTMLL源代码时,在我的开发环境中,我获得了Captcha图像的以下代码(仅使用不同的GUID):

<img src="CaptchaImage.axd?guid=d2b42e49-30e3-4b1e-9e71-92a159d671e6" border="0" alt="Captcha" width="180" height="50" />

我无法在任一网站(VS2010项目或我的实时网络服务器)上看到CaptchaImage.axd文件,但MSCaptcha.dll和MSCaptcha.xml存在于两个环境中的bin文件夹中。

我也试过从其他地方找到的帖子中添加以下代码:

<location path="CaptchaImage.axd">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>

我仍然得到文字&#34; X Catcha&#34;或者&#34; Captcha&#34;图像应该在哪里。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

在将以下内容添加到web.config中的处理程序行之前,我遇到了同样的问题:preCondition =“integratedMode”

在system.webserver / handlers部分中。

答案 1 :(得分:0)

dll可能需要完全信任,如果您在共享环境中运行它,则可能无法正常工作。通常情况下,您可以找到或使dll成为中等信任等,并让它发挥作用。此外,如果您在IIS7下运行此程序,请尝试将应用程序池设置为经典模式而不是集成。