此前有在必应翻译为与SOAP接口方便。 现在,它已被迁移到Windows Azure。 我已经注册在Azure的市场上为每月(免费)10000号。 我如何翻译在C#中通过翻译API文本适用于Windows Phone? 请帮忙。 我不知道如何使用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为真,的StatusCode是OK。 我无法弄清楚如何去这件事。 请帮忙。 谢谢