簡體   English   中英

如何手動注冊ASP.NET MVC控制器?

[英]How do I manually register ASP.NET MVC controllers?

我的ASP.NET MVC應用程序啟動速度非常慢(在第一次渲染之前至少需要20秒)。 它在bin文件夾中有很多程序集。

我理解運行時掃描所有程序集,查找Controller類。 我想這種反射會很慢。 我們在共享主機上,所以第一次加載非常慢,並且有很多首次加載,因為應用程序池經常被回收。

我已經看到很多使用IOC容器手動注冊控制器的例子。 我們不使用IOC。

那么,我該如何手動注冊控制器? 我想在Application_Start做這個,或類似的東西。

編輯一些評論。 我知道這不會完全解決慢啟動問題。 但它可能有所幫助。 所以沒有必要阻止我嘗試,因為我們決定嘗試:)。

您需要覆蓋DefaultControllerFactory 然后在Application_Start中設置它。

ControllerBuilder.Current.SetControllerFactory(typeof (CustomControllerFactory));

示例 -

僅供參考: Mark Seemann (.Net中的Dependency Injection的作者)“創建一個對象實例是.NET Framework非常快速的事情。你的應用程序可能出現的任何性能瓶頸都會出現在其他地方。”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM