1つのWebロール(WCFサービス)と1つのワーカーロールを持つプロジェクトがあります。ワーカーロールは、平均してリソースの0.34%を使用します。単一のインスタンスを使用する単一のクラウドサービスで、WCFとワーカーの両方の役割をホストしたいと考えています。これはどのように行うことができますか?今のところ、ワーカーロールとWCFサービスはそれぞれ1つのインスタンスを使用します。
2 に答える
0
Sandrino の回答に問題はありませんが、質問からは、スレッド化が必要なようには見えません。私の答えはWorkerRole.cs
、worker ロールからWebRole.cs
web ロールにすべてを移動することです。
于 2012-11-18T08:28:49.277 に答える
0
これにはThreadedRoleEntryPointを使用できます。
public class WebRole : ThreadedRoleEntryPoint
{
...
public override void Run()
{
List<WorkerEntryPoint> workers = new List<WorkerEntryPoint>();
workers.Add(new MyWorkerRole());
base.Run(workers.ToArray());
}
}
デフォルトから継承する代わりに をRoleEntryPoint
使用ThreadedRoleEntryPoint
できます。これにより、バックグラウンド スレッドとして開始するワーカーのリストを渡すことができます。このように、WebRole で 1 つ以上の WorkerRoles をスレッドとしてホストすることで、リソースを節約できます。
于 2012-11-18T08:05:54.907 に答える