I'm currently porting a WCF Service Project over to an Azure Role. Until now the library containing the service also hosted a Quartz.Net JobFactory for some lightweight b开发者_开发技巧ackground processing (perdiodically cleaning up stale email confirmation tokens). Do I have to move that code into a seperate worker role?
No you don't have to setup a separate worker role.
You simply have to start a background thread in your OnStart() Method of your Web Role. Give that thread a Timer object that executes your method after the given timespan.
Due to this you can avoid a new worker role.
class MyWorkerThread 
{
    private Timer timer { get; set; }
    public ManualResetEvent WaitHandle { get; private set; }
    private void DoWork(object state)
    {
        // Do something
    }
    public void Start()
    {
        // Execute the timer every 60 minutes
        WaitHandle = new ManualResetEvent(false);
        timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromMinutes(60));
        // Wait for the end 
        WaitHandle.WaitOne();
    }
}
class WebRole : RoleEntryPoint
{
    private MyWorkerThread workerThread;
    public void OnStart()
    {
        workerThread = new MyWorkerThread();
        Thread thread = new Thread(workerThread.Start);
        thread.Start();
    }
    public void OnEnd()
    {
        // End the thread
        workerThread.WaitHandle.Set();
    }
}
The answer above helped me a lot, but it has one hickup, the OnStart method is not overwritten so the method is never called. Also it should be Boolean and not void. This worked for me:
public override bool OnStart()
{
    // For information on handling configuration changes
    // see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.
    workerThread = new MyWorkerThread();
    Thread thread = new Thread(workerThread.Start);
    thread.Start();
    return base.OnStart();
}
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论