Web services 为什么Azure认知服务SDK语音到文本在WCF服务内意外停止?
我正在通过客户端的异步调用调用Windows Communication Foundation(WCF)服务,以启动Azure认知语音服务SDK(Web services 为什么Azure认知服务SDK语音到文本在WCF服务内意外停止?,web-services,wcf,sdk,speech-to-text,azure-cognitive-services,Web Services,Wcf,Sdk,Speech To Text,Azure Cognitive Services,我正在通过客户端的异步调用调用Windows Communication Foundation(WCF)服务,以启动Azure认知语音服务SDK(,使用Microsoft.CognitiveServices.Speech)实例的SpeechRecognizer)。语音识别器有两个参数 SpeechConfig.FromSubscription(key, region) 及 当客户端在开发环境(localhost)中调用WCF时,SpeechRecognizer能够识别长度超过120分钟的音频文
,使用Microsoft.CognitiveServices.Speech
)实例的SpeechRecognizer
)。语音识别器有两个参数
SpeechConfig.FromSubscription(key, region)
及
当客户端在开发环境(localhost)中调用WCF时,SpeechRecognizer
能够识别长度超过120分钟的音频文件,并成功返回RecognizedSpeech
文本结果
当WCF服务部署为基于WCF的Azure云服务时,长度大于9分钟的音频文件的SpeechRecognitor
似乎永远不会进入:
recognizer.Canceled += (s, e) => {}
SpeechRecognizer
似乎没有捕获到任何错误,也没有抛出任何错误。该服务似乎意外地停止“侦听”音频输入
我已经尝试将WCF服务的
超时变量增加到一小时,以及将缓冲区大小
变量增加到2GB
。不走运
我现在想知道我是否应该把这个功能放在WCF服务中
我会提供更多必要的信息!谢谢
更新
通过从WCF服务提取Azure认知语音服务并将其放入控制台应用程序(.exe),我能够解决这个问题。走完这条路之后,我建议使用web服务中的消息队列启动其他地方的认知服务,或者简单地将Azure认知语音服务引入客户端。我不推荐我的解决方案,因为它很难在生产环境中调试和测试(只有日志) 欢迎来到StackOveflow!您的问题是,您是否应该将其放入WCF,或者为什么它意外停止?
recognizer.Canceled += (s, e) => {}