以前は、SOAP インターフェイスを使用して bing トランスレータに簡単にアクセスできました。現在、Windows Azure に移行されています。毎月 10000 文字 (無料) の Azure マーケットプレースに登録しました。C# で Windows Phone の翻訳 API を使用してテキストを翻訳するにはどうすればよいですか? 助けてください。クエリに 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
、代入後も null です。結果のプロパティ IsCompleted は true で、statusCode は OK です。これについてどうすればよいかわかりません。助けてください。ありがとうございました