Azureマーケットプレイスで提供されているマイクロソフトの翻訳サービスを利用しようとしています。http://code.msdn.microsoft.com/windowsazure/Walkthrough-Translator-in-7e0be0f7/view/SourceCodeで提供されているサンプル コードから始めました。
彼らのサンプル コードを使用すると、1 つの翻訳を取得できます。ただし、1 回のリクエストで複数の翻訳を取得したいと考えています。DataServiceContext.ExecuteBatch を使用してみましたが、「リモート サーバーがエラーを返しました: (404) 見つかりません」という WebException がスローされます。
TranslatorContainer cont = new TranslatorContainer(new Uri("https://api.datamarket.azure.com/Bing/MicrosoftTranslator/"));
var accountKey = "<account-key>";
cont.Credentials = new NetworkCredential(accountKey, accountKey);
// This works
var result1 = cont.Translate("Nothing to translate", "nl", "en").Execute().ToList();
DataServiceQuery<Translation>[] queries = new DataServiceQuery<Translation>[]
{
cont.Translate("Nothing", "nl", "en"),
cont.Translate("Nothing to translate", "nl", "en"),
cont.Translate("What happend", "nl", "en"),
};
// This throws exception
var result2 = cont.ExecuteBatch(queries);
複数のスレッドを使用して、複数のリクエストを並行して行うことができました。しかし、私はそれを避けたいです。誰もこれを試したことがありますか?