Веб-сервисы Silverlight C # ждут процесса - PullRequest
2 голосов
/ 14 мая 2010

Я занимаюсь разработкой приложения silverlight, в котором я использую веб-сервисы. Сервер отвечает за обработку некоторого текста, получение информации о фонеме, преобразование в висемы, создание аудио и кодирование в mp3. Возвращается список висем и путь к создаваемому аудиофайлу. Затем аудио передается клиенту.

Но теперь у меня проблема. Мне нужно, чтобы сервер дождался полного создания аудиокодировки. Иногда аудио не готово, и оно не передается для клиента. Я пробовал thread.join, но у него такая же проблема для длинных текстов.

Как должен быть лучший способ решить эту проблему?

Заранее спасибо

1 Ответ

1 голос
/ 18 мая 2010

возможно, я неправильно понял ваш вопрос, но я думаю, что это не должно представлять большой проблемы, так как шаблон асинхронности действительно должен помочь вам ... Мое интуитивное понимание этого сценария будет примерно таким:

myWebServiceClient.ProcessTextCompleted += (sndr, evnt) =>
{
  IsBusy = false;
  var url = evnt.Result.PathToCreatedAudioFile;
  PlayAudioFile(url);
};
IsBusy = true;
myWebServiceClient.ProcessTextAsync("abcdefg");

Может быть, вы могли бы дать немного больше информации о том, почему это не работает в вашем случае.

Ура, Алекс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...