Como usar o Microsoft Translator API sobre o Windows Azure, para o Windows Phone?
Anteriormente, o tradutor Bing era facilmente acessível com a interface SOAP. Agora ele foi migrado para o Windows Azure. Registrei-me no mercado do Azure para 10000 cartas por mês (grátis). Como posso traduzir texto através do tradutor api, para windows phone em c #? Por favor ajude. Não sei como usar o BeginExecute e o EndExecute para consultas.
Eu fiz o download e adicionei o TranslatorContainer.cs ao meu projeto. Por enquanto, estou apenas tentando obter os idiomas com o método GetLanguagesForTranslation. Este é o código que escrevi.
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);
}
}
}
Em OnQueryComplete () oquery
é nulo mesmo após a atribuição. O resultado tem as propriedades IsCompleted como verdadeiras e statusCode é OK. Eu não sou capaz de descobrir como fazer isso. Por favor ajude. Obrigado