我的MVC应用程序目前使用Global.asax
, Application_Start
方法加载大量数据,然后暴露出它作为收藏品。 例如:
当前用法示例:
// Global.asax
public static DataRepository Repository { get; set; }
protected void Application_Start()
{
// All the normal stuff...
// Preload this repository.
DataRepository = new DataRepository();
}
// HomeController.cs Example
public ActionResult Index(){
return Json(MyApplication.Repository.GetSomeCollection(),
JsonRequestBehavior.AllowGet);
}
我想要做的事:
我想使用ASP.Net 4.0 + IIS 7.5的应用程序预加载功能,但需要的库暴露给应用程序的其余部分。 就像是:
// pseudo code attempt at goal
public class ApplicationPreload : IProcessHostPreloadClient
{
public MyRepositoryClass Repository { get; set; }
public void Preload(string[] parameters)
{
// repository class's constructor talks to DB and does other crap.
Repository = new MyRepositoryClass();
}
}
题
我怎样才能露出的存储库类或甚至简单IEnumerable<T>
使用集合Preload()
通过实施的方法IProcessHostPreloadClient
?