Windows Azure -Webロールはローカル開発キューストレージにアクセスできません
-
30-09-2019 - |
質問
ソリューションの複数のロールプロジェクト間で共有されるクラスライブラリがあります。これらのプロジェクトのうち2つは、Webの役割と労働者の役割です。
彼らはそれぞれ同じ構成設定を持っています:
<Setting name="QueueConnectionString" value="UseDevelopmentStorage=true" />
それらのそれぞれは、この関数に電話をかけています。
public static void AddMessage(string Message)
{
var account = CloudStorageAccount.DevelopmentStorageAccount;
ServicePoint queueServicePoint = ServicePointManager.FindServicePoint(account.QueueEndpoint);
queueServicePoint.UseNagleAlgorithm = false;
var client = account.CreateCloudQueueClient();
var queue = client.GetQueueReference(DefaultRoleInstanceQueueName);
queue.CreateIfNotExist();
queue.AddMessage(new CloudQueueMessage(Message));
}
これが労働者の役割で実行されると、問題なく動作します。適切な読み取りとキューのメッセージを書いていることを確認しました。 Webロールで実行されると、Queue.createifnotexist()の呼び出しは、「このコンテキストでは応答は利用できません」とcrask crashがクラッシュします。私はこれを引き起こしている可能性のあるものに関する情報を検索しようとしましたが、これまでのところ、私の検索努力は実りがありませんでした。含めることができる追加情報があるかどうかを教えてください。
解決
さて、さらに多くの作業の後、私はそれがGlobal.Asax Application_start内からそれを呼んでいたからだと判断しました。
これをwebrole.cs onstart()関数に移動しましたが、適切に機能します。
所属していません StackOverflow