Skip to content

@abdullin /WebRole.cs
Created

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Sample of running AppEngine inside the Web Role (for Lokad.CQRS v2.0)
// Sample of running AppEngine inside the Web Role, essentially merging
// 1 worker role and 1 web role (for Lokad.CQRS v2.0)
// For explanation see: http://abdullin.com/journal/2011/7/6/lokadcqrs-can-make-windows-azure-cheaper-for-you.html
public class WebRole : RoleEntryPoint
{
CqrsEngineHost _host;
readonly CancellationTokenSource _source = new CancellationTokenSource();
public override bool OnStart()
{
ServicePointManager.DefaultConnectionLimit = 48;
RoleEnvironment.Changing += RoleEnvironmentChanging;
_host = BuildBusForWorker.Configure().Build();
return base.OnStart();
}
public override void Run()
{
var task = _host.Start(_source.Token);
task.Wait()
}
public override void OnStop()
{
_source.Cancel();
base.OnStop();
}
private static void RoleEnvironmentChanging(object sender, RoleEnvironmentChangingEventArgs e)
{
// If a configuration setting is changing
if (e.Changes.Any(change => change is RoleEnvironmentConfigurationSettingChange))
{
// Set e.Cancel to true to restart this role instance
e.Cancel = true;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.