这是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;图像应该在哪里。
有什么想法吗?
答案 0 :(得分:1)
在将以下内容添加到web.config中的处理程序行之前,我遇到了同样的问题:preCondition =“integratedMode”
在system.webserver / handlers部分中。
答案 1 :(得分:0)
dll可能需要完全信任,如果您在共享环境中运行它,则可能无法正常工作。通常情况下,您可以找到或使dll成为中等信任等,并让它发挥作用。此外,如果您在IIS7下运行此程序,请尝试将应用程序池设置为经典模式而不是集成。