2

ストレージ キューを介して Azure C# アプリケーションと通信する必要がある Java プロセスがあります。Azure Web
で 実行している場合、Java プロセスはストレージ キューに対してメッセージの読み取りと書き込みを行うことができます。しかし、Java プロセスをローカルで実行し、Azure のエミュレーターと通信しようとすると、キューからメッセージを読み取ることはできますが、キューに書き込むことはできません。

以下は私が使用するコードです。これは最後の行でハングし、数分後にタイムアウトします。
どんな提案でも大歓迎です。

CloudStorageAccount acct;
if (configuration.equals(configurationTypeLocal)) {
   acct = CloudStorageAccount.parse(localStorageConnectionString);
} else {
   acct = CloudStorageAccount.parse(cloudStorageConnectionString);
}
CloudQueueClient client = acct.createCloudQueueClient();
_queue = client.getQueueReference(queueName);
_queue.createIfNotExist();
_queue.addMessage(new CloudQueueMessage(txt));
4

1 に答える 1

0

エミュレーターを使用して開発する場合、エミュレーターのバージョンが、使用しているクライアント ライブラリのバージョンに適していることを確認することが重要です。古いバージョンのエミュレーターを新しいバージョンのクライアント ライブラリと共に使用している場合、要求しているサービスの機能がエミュレーターに実装されていないという問題が発生する可能性があります。

オンラインサービスを使用すると機能が機能するが、エミュレーターを使用すると機能しないということを考えると、これが問題であると推測しています。エミュレータの最新バージョンをダウンロードすれば問題ありません。

ジェイソン

于 2014-05-07T04:38:59.423 に答える