Hi,
I have developed an asp.net web app and use the webcaptcha control.
Running the app on my production machine I can see the captcha image but it is not diplayed on the web server remote machine.
Is there any trick?
Thanks in advance
Hello t0rren1e,
What is the version of IIS on your production server?
My production server has no iis installed, and in the deployment machine iis 7 is installed.
Hello T0rren1e,
Please let me know if I can provide any further assistance regarding this matter.
I had the same problem with IIS 7.5.
The reply given here may work for IIS 7 but for 7.5 you need to specify a name. (Also the example given above did not have a correct closing tag). The following works for me: in the <system.webServer><handlers> section or web.config:
<add path="WebCaptchaImage.axd" verb="GET,HEAD" type="Infragistics.Web.UI.EditorControls.CaptchaImageHandler" name="CaptchaHandler" />
Seems you can give it any old name. You should leave the entry in the <System.Web><httpHandlers> section.
Kind regards,
Paul
Don't work to me.Any other suggestion for IIS 7.5?
At last, I solve it.I change the Application Pool to Classic. :(
The WebCatpcha need some special folder like the UltraChart do to create images?
Thanks Paul but no, isn't work. :(
Web form:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Testform.aspx.cs" Inherits="ControlDeJuegosWS.Testform" %> <%@ Register Assembly="Infragistics4.Web.v13.1, Version=13.1.20131.2069, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" Namespace="Infragistics.Web.UI.EditorControls" TagPrefix="ig" %> <%@ Register Assembly="Infragistics4.Web.v13.1, Version=13.1.20131.2069, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" Namespace="Infragistics.Web.UI" TagPrefix="ig" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title></head><body> <form id="form1" runat="server"> <ig:WebScriptManager ID="WebScriptManager1" runat="server"></ig:WebScriptManager> <div> <ig:WebCaptcha ID="WebCaptcha1" runat="server" Width="250px"></ig:WebCaptcha> </div> </form></body></html>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Testform.aspx.cs" Inherits="ControlDeJuegosWS.Testform" %>
<%@ Register Assembly="Infragistics4.Web.v13.1, Version=13.1.20131.2069, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" Namespace="Infragistics.Web.UI.EditorControls" TagPrefix="ig" %>
<%@ Register Assembly="Infragistics4.Web.v13.1, Version=13.1.20131.2069, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" Namespace="Infragistics.Web.UI" TagPrefix="ig" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title></head><body> <form id="form1" runat="server"> <ig:WebScriptManager ID="WebScriptManager1" runat="server"></ig:WebScriptManager> <div> <ig:WebCaptcha ID="WebCaptcha1" runat="server" Width="250px"></ig:WebCaptcha> </div> </form></body></html>
Web.config:
<?xml version="1.0"?><!-- Para obtener más información sobre cómo configurar la aplicación de ASP.NET, visite http://go.microsoft.com/fwlink/?LinkId=169433 --><configuration> <configSections> <sectionGroup name="dotNetOpenAuth" type="DotNetOpenAuth.Configuration.DotNetOpenAuthSection, DotNetOpenAuth.Core"> <section name="messaging" type="DotNetOpenAuth.Configuration.MessagingElement, DotNetOpenAuth.Core" requirePermission="false" allowLocation="true"/> <section name="reporting" type="DotNetOpenAuth.Configuration.ReportingElement, DotNetOpenAuth.Core" requirePermission="false" allowLocation="true"/> <section name="openid" type="DotNetOpenAuth.Configuration.OpenIdElement, DotNetOpenAuth.OpenId" requirePermission="false" allowLocation="true"/> <section name="oauth" type="DotNetOpenAuth.Configuration.OAuthElement, DotNetOpenAuth.OAuth" requirePermission="false" allowLocation="true"/> </sectionGroup> <section name="infragistics.web" type="System.Configuration.SingleTagSectionHandler,System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </configSections> <appSettings> <add key="fileUploadPath" value="~/Logos"/> <add key="maxFileSizeLimit" value="4194304"/> <add key="bufferSize" value="16384"/> <add key="allowedMIMEType" value="*"/> </appSettings> <connectionStrings> <add name="XXX" connectionString="Data Source=XXX\SQLEXPRESS2012;Initial Catalog=XXX;Integrated Security=True" providerName="System.Data.SqlClient"/></connectionStrings> <infragistics.web styleSetName="Claymation" styleSetPath="~/ig_res" enableAppStyling="true"/> <system.web> <httpModules> <add name="IGUploadModule" type="Infragistics.Web.UI.EditorControls.UploadModule"/> </httpModules> <httpHandlers> <add path="IGUploadStatusHandler.ashx" verb="GET" type="Infragistics.Web.UI.EditorControls.UploadStatusHandler" validate="true" /> <add path="WebCaptchaImage.axd" verb="GET,HEAD" type="Infragistics.Web.UI.EditorControls.CaptchaImageHandler" /> </httpHandlers> <compilation debug="true" targetFramework="4.0"> <assemblies> <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> <add assembly="Infragistics4.Web.v13.1, Version=13.1.20131.2069, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/> <add assembly="Infragistics4.WebUI.Documents.Reports.v13.1, Version=13.1.20131.2069, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/> <add assembly="Infragistics4.WebUI.Documents.Excel.v13.1, Version=13.1.20131.2069, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/> <add assembly="Infragistics4.WebUI.Documents.Word.v13.1, Version=13.1.20131.2069, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/> <add assembly="Infragistics4.WebUI.Documents.IO.v13.1, Version=13.1.20131.2069, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/> <add assembly="Infragistics4.Web.jQuery.v13.1, Version=13.1.20131.2069, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/> <add assembly="Infragistics4.WebUI.Documents.Core.v13.1, Version=13.1.20131.2069, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"/> <add assembly="Infragistics4.WebUI.WebHtmlEditor.v13.1, Version=13.1.20131.2069, Culture=neutral, PublicKeyToken=7DD5C3163F2CD0CB"/> <add assembly="Infragistics4.WebUI.Shared.v13.1, Version=13.1.20131.2069, Culture=neutral, PublicKeyToken=7DD5C3163F2CD0CB"/> <add assembly="System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> </assemblies> </compilation> </system.web> <system.net> <defaultProxy enabled="true"/> <settings> <!-- This setting causes .NET to check certificate revocation lists (CRL) before trusting HTTPS certificates. But this setting tends to not be allowed in shared hosting environments. --> <!--<servicePointManager checkCertificateRevocationList="true"/>--> </settings> </system.net> <system.webServer> <validation validateIntegratedModeConfiguration="false"/> </system.webServer> <runtime> <!-- This prevents the Windows Event Log from frequently logging that HMAC1 is being used (when the other party needs it). --> <legacyHMACWarning enabled="0"/> <!-- When targeting ASP.NET MVC 3, this assemblyBinding makes MVC 1 and 2 references relink to MVC 3 so libraries such as DotNetOpenAuth that compile against MVC 1 will work with it. <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> </dependentAssembly> </assemblyBinding> --> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-2.1.10.0" newVersion="2.1.10.0"/> </dependentAssembly> </assemblyBinding> </runtime> <dotNetOpenAuth> <messaging> <untrustedWebRequest> <whitelistHosts> <!-- Uncomment to enable communication with localhost (should generally not activate in production!) --> <!--<add name="localhost" />--> </whitelistHosts> </untrustedWebRequest> </messaging> <!-- Allow DotNetOpenAuth to publish usage statistics to library authors to improve the library. --> <reporting enabled="true"/> <!-- This is an optional configuration section where aspects of dotnetopenauth can be customized. --> <!-- For a complete set of configuration options see http://www.dotnetopenauth.net/developers/code-snippets/configuration-options/ --> <openid> <relyingParty> <security requireSsl="false"> <!-- Uncomment the trustedProviders tag if your relying party should only accept positive assertions from a closed set of OpenID Providers. --> <!--<trustedProviders rejectAssertionsFromUntrustedProviders="true"> <add endpoint="https://www.google.com/accounts/o8/ud" /> </trustedProviders>--> </security> <behaviors> <!-- The following OPTIONAL behavior allows RPs to use SREG only, but be compatible with OPs that use Attribute Exchange (in various formats). --> <add type="DotNetOpenAuth.OpenId.RelyingParty.Behaviors.AXFetchAsSregTransform, DotNetOpenAuth.OpenId.RelyingParty"/> </behaviors> </relyingParty> <provider/> </openid> </dotNetOpenAuth> <uri> <!-- The uri section is necessary to turn on .NET 3.5 support for IDN (international domain names), which is necessary for OpenID urls with unicode characters in the domain/host name. It is also required to put the Uri class into RFC 3986 escaping mode, which OpenID and OAuth require. --> <idn enabled="All"/> <iriParsing enabled="true"/> </uri></configuration>
Here's the entry in my WebConfig <system.webServer><handlers> section:
This is the declaration of the control on an aspx web page:
<ig:WebCaptcha ID="WebCaptcha1" runat="server" Width="216px" Height="136px" BackColor="#F8F8FF" ForeColor="Black" StyleSetName="ElectricBlue" EnableTheming="True" ErrorMessage="Incorrect (Code is case-sensitve)" CaptchaImageSettings-FontName="Courier New" CaptchaImageSettings-FontSize="42" CaptchaImageSettings-EnableUniqueChars="True" CaptchaImageSettings-BackgroundColor="#618FA7" CaptchaImageSettings-TextColor="#FFFFFF" CaptchaImageSettings-FontWarping="Medium" CaptchaImageSettings-Height="63px" CaptchaImageSettings-LinesNoise="Low" CaptchaImageSettings-RotationNoise="Medium" CaptchaImageSettings-BackgroundNoise="Medium" CaptchaImageSettings-CharacterSet="$@#?&=%123456789ABDEFGHJKMNQRTabdefghijkmnqrt!+*" CaptchaImageSettings-EnableCaseSensitivity="True" SubmitButton-CausesValidation="True" SubmitButton-OnClientClick="doCheck();" SubmitButton-Text="Login"> <InputValueEditor NullText="Write text here" Width="171px" runat="server" ID="_editor" CssClass="MediumHeaderPad4" AutoComplete="Off"></InputValueEditor> <SubmitButton Text="Login"></SubmitButton> <RefreshButton ToolTip="Click here to change the image." /></ig:WebCaptcha>
The application uses .NET 4.5 and IIS7.5 runs the site as a .NET 4.0 application with integrated pipeline.
Hope this helps,