关于asp.net应用TTS(Text-to-Speech)的问题
kwmxw 2008-03-04 12:26:12 本人想在网站中应用微软TTS技术
代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using SpeechLib;
namespace TTS
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string mystr = "告警的封锁电话费肯定将恢复对今h";
Label1.Text = mystr;
SpeechVoiceSpeakFlags myflg = SpeechVoiceSpeakFlags.SVSFlagsAsync;
SpVoice myvoice = new SpVoice();
myvoice.Speak(mystr, myflg);
}
protected void Button1_Click(object sender, EventArgs e)
{
//myvoice.WaitUntilDone(1000);
}
}
}
在调试状态下一切正常,但发布后出现
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------
拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.UnauthorizedAccessException: 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))
ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。
要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。
源错误:
行 22: SpeechVoiceSpeakFlags myflg = SpeechVoiceSpeakFlags.SVSFlagsAsync;
行 23: SpVoice myvoice = new SpVoice();
行 24: [color=#FF0000]myvoice.Speak(mystr, myflg);行 25:
行 26: }[/color]
请问该如何解决?