我正在两个网站上工作。一个是现有的经典asp站点,它将xml发布到新的asp.net(.net 3.5)网站。经典的asp站点在vbscript中使用msxml的serverxmlhttp对象来发送这个xml。整个过程一直有效,直到我对asp.net网站进行看似无关的更改。
当我添加几行使用System.Speech.Synthesis从文本生成wav文件的代码时,经典的asp网站serverxmlhttp.send命令超时。据我所知,asp.net页面工作正常,它通过几个新的代码行没有问题(生成wav文件)。导致问题的几行语音代码在超时之前完成。
似乎asp.net页面实际上正在向经典页面发送某种确认,而不再发送。我还应该指出语音代码抛出异常,说它需要异步,我通过添加Async =“true”来修复。但是,它在async =“true”时有效,它只是那些打破它的语音线。 “问题代码”只是
SpeechSynthesizer speaker = new SpeechSynthesizer();
speaker.Volume = 100;
speaker.SelectVoiceByHints(System.Speech.Synthesis.VoiceGender.Female, System.Speech.Synthesis.VoiceAge.Adult, 0);
try
{
speaker.SetOutputToWaveFile("c:\\test\\output.wav");
}
catch (Exception ex)
{
retVal = false;
}
speaker.Speak(msgText);
speaker.SetOutputToDefaultAudioDevice();
有没有人对什么可能出错或者我可以用来帮助调试这个有什么建议?
答案 0 :(得分:0)
似乎asp.net页面实际上正在向经典页面发送某种确认信息,不再发送
听起来你应该更多地调查它,这样你就可以告诉我们服务器之前和之后的响应行为。另请注明抛出的异常。
我的猜测是这些API在服务过程中不能很好地工作。我真的不知道。我对异常感到好奇,你不清楚你做了什么异步。