我有一個靜態數據列表。 我希望每次都重新填充此列表中的數據,以便重新啓動IIS 這意味着:在有人進入該站點之前填寫列表。如何在每次重新啓動IIS時執行一些代碼
任何人都可以給ne an answere ???
我heared關於「熱身模塊」 ......但我不知道如何使用它..
我有一個靜態數據列表。 我希望每次都重新填充此列表中的數據,以便重新啓動IIS 這意味着:在有人進入該站點之前填寫列表。如何在每次重新啓動IIS時執行一些代碼
任何人都可以給ne an answere ???
我heared關於「熱身模塊」 ......但我不知道如何使用它..
你可以實現數據作爲單身屬性嗎?
private object myListOfData;
object MyListOfData
{
get
{
if (myListOfData == null)
myListOfData = CodeYouWantToRunOnIisResart();
return myListOfData;
}
}
單身是邪惡的,在這種情況下絕對不需要 – lboshuizen
您可以編寫如下代碼:'private Lazy
@lboshuizen要精心製作而不只是說它們是邪惡的? btw我會說global_asax中的Application_Start()可能是最好的,但我的答案可能是最簡單的 – Tobsey
您可以在global.asax
中使用Application_Start event
。
鏈接:http://msdn.microsoft.com/en-us/library/ms178473(v=vs.100).aspx
樣品
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
}
你可以使用IServiceBehavior接口界面。
http://msdn.microsoft.com/en-us/library/system.servicemodel.description.iservicebehavior.aspx
這可能會過度殺傷 – lboshuizen
請在答案中提供的不僅僅是一個鏈接。如果這個鏈接破壞了你的帖子,將無助於未來的用戶。 –
也許你需要的應用程序啓動時,不知道 – V4Vendetta
該網站實際上並沒有啓動,直到有人訪問它 - 或者至少要等到什麼使得它的要求,所以相當困難的數據加載之前那。除非你想要投入大量工作,否則最好的辦法是在第一次加載數據時加載數據,然後緩存它。是的,這意味着第一個請求很慢,但對於任何網站來說都是如此。 –