2012-03-27 41 views
4

我在我的DNN站点中使用带音频代码的RadCaptcha中的反馈6.0.0。 当我在localhost中使用它时,它工作正常,我可以用默认音频文件替换另一个.wav文件。但是当我在服务器上安装此模块时,模块从WebResource读取音频文件,而不是从我设置的地址中,我不能替换此音频文件。如何更改Dotnetnuke中的Radcaptcha的音频文件

即使我从RadCaptcha文件夹中删除此音频文件,该模块将从webResource读取音频文件。

我使用此代码使用RadCaptcha:

<dnn:dnnCaptcha ID="ctlCaptcha" runat="server" EnableRefreshImage="True" Width="300px" CaptchaImage-AudioFilesPath="~/DesktopModules/Feedback/App_Data/RadCaptcha" /> 

我的问题是我怎么能代替我的自定义音频文件RadCapcha服务器不在本地主机

回答

1

Atabrizi,有你在正确配置处理器web.config文件?

<httphandlers> 
    <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" /> 
</httphandlers> 
<handlers> 
    <add name="Telerik_Web_UI_WebResource_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" /> 
</handlers> 

另外,我发现他们的文档中的以下一条信​​息:

为了使验证码能够输出音频文件的Web 应用程序必须在完全信任下运行环境。基本上, 应用程序应该作为有权在服务器上调用 SpeechSynthesizerizer.Speak(textToSpeak)方法的用户帐户运行。通常,用户帐户 没有所需的权限,管理员必须授予它们。例如,在IIS 6+中,应用程序 池作为ApplicationPoolIdentity内置帐户运行(这是默认的 ),它没有足够的权限调用 SpeechSynthesizer.Speak(textToSpeak)。为了能够生成代码 ,应用程序池应具有LocalSystem 内置帐户的权限。

但是有所提及的替代:

如果Web应用程序没有足够的权限来 “说话”的文字代码,或它使用.NET2.x(早于3.0版本为 .NET Framework)时,音频文件将通过连接 “.wav”文件生成,该文件对应于文本 代码中的特定字符。默认情况下,RadCaptcha将查找 App_Data \ RadCaptcha目录中的文件,因此您需要提供文件夹和 文件。您可以复制位于您的RadControls的App_Data文件夹中的App_Data \ RadCaptcha目录(位于 )以进行ASP.NET AJAX安装。 请注意,为了使正确生成 音频编码,必须有每一个可能的字符 ,可以在图像上显示和文件必须被命名为 字符本身就是一个“.WAV”文件 - “[ Char]“.wav(即A.wav,B.wav,C.wav,1.wav, 2.wav等)。

http://www.telerik.com/help/aspnet-ajax/captcha_audio.html

+0

@atabrizi你得到它的工作?如果您发现我的帖子有帮助,请将其标记为已接受。如果没有,让我知道我可以如何进一步帮助。谢谢! – msigman 2012-04-10 14:23:13

+0

它不适合我 – atabrizi 2012-05-13 11:00:57

相关问题