1

私は2つのウェブサイトで働いています。1 つは、xml を新しい asp.net (.net 3.5) Web サイトに投稿する既存の従来の ASP サイトです。従来の ASP サイトでは、vbscript で msxml の serverxmlhttp オブジェクトを使用して、この xml を送信しています。asp.netサイトに一見無関係な変更を加えるまで、すべてが機能します。

System.Speech.Synthesis を使用してテキストから wav ファイルを生成するコードを数行追加すると、従来の ASP Web サイトの serverxmlhttp.send コマンドがタイムアウトします。asp.net ページが正常に動作していることを確認できる限り、問題なく数行の新しいコードを実行できます (wav ファイルが生成されます)。問題の原因となっている数行の音声コードは、タイムアウトのかなり前に実行されます。

asp.net ページが、実際には送信されなくなった従来のページに何らかの確認応答を送信していたようです。また、音声コードが非同期である必要があるという例外をスローしていたことも指摘しておく必要があります。ただし、 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();

何が間違っているのか、またはこれをデバッグするために私が使用できるものについて何か提案はありますか?

4

1 に答える 1

0

asp.net ページが、実際には送信されなくなった従来のページに何らかの確認応答を送信していたようです。

前後のサーバーの応答動作を教えていただけるように、もっと調査する必要があるようです。また、スローされた例外を示してください。

私の推測では、これらの API はサービス プロセスではうまく機能しません。私は本当に手がかりがありません。例外について興味があります。非同期にしたものについて明確ではありません。

于 2009-01-05T06:16:01.600 に答える