2016-06-30 13 views
3

私はAzureウェブジョブを初めて利用しています。私がウェブ・ジョブを使って作業しているとき、私はウェブ・ジョブがプロセスのような独自のメモリー割り当てを持っているかどうかという疑問を思いつきましたか?IS Azure Webjobsには独自のメモリ割り当てがありますか?

ウェブサイト(ウェブアプリ)の下にウェブジョブを作成しているので、別のメモリが作成されます。そして、そのウェブサイトの下に複数のウェブジョブを作成しています。

静的なクラスが空のWebサイトのインスタンスにインスタンス化されると、その静的なクラスを同時に使用するWebジョブはデータの損失につながりますか?この

例のように:

website --> static class1 memory instance get created.  
In webjob1 --> uses above created class1.  
In webjob2 --> uses above one class1. 

Webjobsはwebjobがプロセスとして働いているので、それはそれ自身のメモリに静的クラスのインスタンスを作成します

または

参照のみ(浅いコピー)を使用していますか?

例:

In webjob1 memory --> static class1 memory instance get created inside webjob1's allocated memory.  
In webjob2 memory --> static class1 memory instance get created inside webjob1's allocated memory.etc... 
both have its own static class like(deep copy) 

、誰もがそれがどのように動作するかを説明できますか?事前に感謝

答えて

5

各WebJobは、WebAppのプロセス(w3wp)とは異なる独自のプロセスで実行されます。したがって、彼らはそれぞれ静的変数のコピーを持っています。

+0

各webjobsには独自のプロセスとメモリがありますので、どうしてWebサイトで作成する必要がありますか?ありがとうございます。 Azureは、仮想メモリの下にWebジョブを作成することを許可しません。Webジョブを作成するには、Webアプリケーションが必要です。 – Skull

+1

WebアプリケーションをWebJobのコンテナとして表示する必要があります。あなたがしたくない場合は、そこに実際のWebサイトを実行する必要はありません。 –

関連する問題