8

I have a project that is basically only an MVC project because it gives intellisense for Razor views and the library (Mvc.Mailer) depends on HttpContext. Right now I have to load a page in order for the constructor in my MvcApplication to run, or the Application_Start, or Init.

Is there a way to bootstrap the mvc app main method, or anything that is called before any page requests that doesn't require me to send a page load request?

Caleb Jares
  • 6,163
  • 6
  • 56
  • 83

4 Answers4

4

According to this: What is a composition root in the context of Dependency Injection

You can use Global.asax.cs which runs when an ASP.NET MVC project is started. I just verified this in my ASP.NET MVC project.

Community
  • 1
  • 1
UserX
  • 485
  • 5
  • 12
2

There's no method in ASP.NET that runs before the first access to your application.

The simplest way to fix it is to install AppFabric into your IIS and let that handle the automatic start of your services. It will "poke" all services it's configured with so that they're always running and initialized.

Joachim Isaksson
  • 176,943
  • 25
  • 281
  • 294
1

Use the AutoStart feature of AppFabric to prewarm the AppPool, which will achieve what you want.

http://msdn.microsoft.com/en-us/library/ee677260.aspx

0

override the OnActionExecuting() of your controller. It is called every time a page is called.

LINQ Newbee
  • 333
  • 1
  • 4
  • 13