Как использовать Microsoft Translator API поверх Windows Azure для Windows Phone?
Ранее там был легко доступен переводчик bing через интерфейс SOAP. Теперь он был перенесен в Windows Azure. Я зарегистрировался на торговой площадке Azure за 10000 писем в месяц (бесплатно). Как я могу перевести текст через переводчик API, для Windows Phone в C #? Пожалуйста помоги. Я не уверен, как использовать BeginExecute и EndExecute для запросов.
Я скачал и добавил TranslatorContainer.cs в мой проект. Сейчас я просто пытаюсь получить языки с помощью метода GetLanguagesForTranslation. Это код, который я написал.
public partial class PhonePage1 : PhoneApplicationPage
{
public PhonePage1()
{
InitializeComponent();
Translator transInstance = new Translator();
}
class Translator
{
private Uri service_root;
private TranslatorContainer context;
public Translator()
{
service_root = new Uri("https://api.datamarket.azure.com/Bing/MicrosoftTranslator/");
context = new TranslatorContainer(service_root);
context.Credentials = new NetworkCredential("ID","...........");
var query = context.GetLanguagesForTranslation();
query.BeginExecute(OnQueryComplete, query);
}
public void OnQueryComplete(IAsyncResult result)
{
var query = result as DataServiceQuery<Language>;
string langstring = "";
foreach (Language lang in query.EndExecute(result))
{
langstring += lang.Code + "\n";
}
MessageBox.Show(langstring);
}
}
}
В OnQueryComplete ()query
является нулевым даже после назначения. Результат имеет свойства IsCompleted как true, а statusCode в порядке.
Я не могу понять, как это сделать. Пожалуйста помоги.
Спасибо