Может ли DataRecognitionClient работать в службе с отслеживанием состояния в Azure
Я работаю над проектом, в котором мы транслируем живые аудиоданные с клиента в службу с сохранением состояния через соединение через веб-сокет. Он работал локально с использованием DataRecognitionClient, но как только я развернул все в нашем кластере Service Fabric, DataRecognitionClient выдает объектную ошибку ссылки. Кажется, это приводит к краху - исключение не может быть поймано по какой-то причине. Мой вопрос - может ли этот SpeechClient работать на виртуальной машине в Azure или он должен работать только на локальной машине? Я попытался использовать служебную библиотеку SpeechClient, но все, что я получаю, это возвращенный ответ Silence Timeout.
Основной процесс: клиентское тестовое приложение (консольное приложение) создает объект fileStream и читает из файла.wav, а затем открывает соединение через веб-сокет, отправляя аудиоданные в мою службу. Есть асинхронный приемник, который прослушивает данные, возвращаемые из службы. Служба представляет собой службу с состоянием, развернутую в кластере Service Fabric в Azure. В рамках этой службы я создаю экземпляр речевого клиента и отправляю аудиобайты в пользовательскую конечную точку речи. Когда речевой клиент отправляет мне текст обратно, я обновляю объект в надежной коллекции и постоянно возвращаю это значение клиенту при передаче аудиоданных.
Это работало локально, но теперь, когда я развернул его в Azure, я не могу заставить его работать. Я попробовал API Bing Speech (рекомендуется в качестве реализации службы) и не могу заставить его работать - все, что я получаю, - это ответ на тайм-аут начального молчания. Попробовал REST API, и сейчас я работаю над реализацией протокола websocket, хотя на самом деле документации по C# для него нет.
У кого-нибудь есть идеи, как заставить это работать из кластера сервисных структур в Azure?