I don't think that is going to work because I think those examples where he shows assembly references would have to be coded into mojoPortal and therefore known ahead of time.
ie [assembly: WebActivator.PostApplicationStartMethod(...
So it is not really a way to extend an existing app without code modifications, it can only be used in an app you are coding yourself or by modifying the mojoPortal code.
Since you should not fork the mojoPortal code the best way to add custom http modules is via web.config. Upgrading is a relatively infrequent activity in the grand scheme of things so I don't see maintaining web.config customizations as a big deal.
There really is no perfect way to hook into the application_start event since that really only fires in global.asax.cs of which there can only be one and one already exists in mojoPortal. However you can sort of mimic the app start in an HttpModule with code like this:
using System;
using System.Web;
namespace yournamespace
{
public class AppStartHttpModule : IHttpModule
{
private static bool HasAppStarted = false;
private readonly static object _syncObject = new object();
public void Init(HttpApplication application)
{
if (!HasAppStarted)
{
lock (_syncObject)
{
if (!HasAppStarted)
{
DoSomething();
HasAppStarted = true;
}
}
}
}
private void DoSomething()
{
}
public void Dispose() { }
}
}
Hope that helps,
Joe