Я хочу сделать несколько операций в одной рабочей роли.Как создать темы в рабочей роли?
Вы можете добавить несколько рабочих в WorkerRole::OnStart(), как описано здесь http://www.31a2ba2a -b718-11dc-8314-0800200c9a66.com / 2010/12 / running-multiple-threads-on-windows.html
WorkerRole::OnStart()
public class WorkerRole : ThreadedRoleEntryPoint { public override void Run() { // This is a sample worker implementation. Replace with your logic. Trace.WriteLine("Worker Role entry point called", "Information"); base.Run(); } public override bool OnStart() { List<WorkerEntryPoint> workers = new List<WorkerEntryPoint>(); workers.Add(new ImageSizer()); workers.Add(new ImageSizer()); workers.Add(new ImageSizer()); workers.Add(new HouseCleaner()); workers.Add(new TurkHandler()); workers.Add(new Crawler()); workers.Add(new Crawler()); workers.Add(new Crawler()); workers.Add(new Gardener()); workers.Add(new Striker()); return base.OnStart(workers.ToArray()); } } internal class Striker : WorkerEntryPoint { public override void Run() { while (true) { // Do Some Work Thread.Sleep(100); } } }
В двух словах, он ничем не отличается от любого другого консольного приложения.
Два разных примера, которые делают это:
http://msdn.microsoft.com/en-us/library/ff803372.aspx (выделите «Внутри реализации»
http://msdn.microsoft.com/en-us/library/ff966485.aspx (выделите «внутри реализации»). В этом примере используется TPL, доступный в .NET 4.0 для параллельного планирования задач.