gpt4 book ai didi

c# - 如何手动注册 ASP.NET MVC Controller ?

转载 作者:太空狗 更新时间:2023-10-30 01:17:51 24 4
gpt4 key购买 nike

我的 ASP.NET MVC 应用程序启动非常非常慢(至少需要 20 秒才能首次呈现)。它在 bin 文件夹中有很多程序集。

我知道运行时会扫描所有程序集,寻找 Controller 类。我想这种反射会很慢。我们在共享主机上,所以第一次加载非常慢,而且第一次加载很多,因为应用程序池经常回收。

我见过很多使用 IOC 容器手动注册 Controller 的示例。我们不使用 IOC。

那么,我该如何手动注册 Controller ?我想在 Application_Start 或类似的地方执行此操作。

编辑一些评论。我知道这不能完全解决启动慢的问题。但这可能会有所帮助。所以没有必要劝阻我尝试,因为我们已经决定尝试 :)。

最佳答案

您需要覆盖 DefaultControllerFactory .然后将其设置为 Application_Start

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

示例 -

仅供引用: Mark Seemann (author of Dependency Injection in .Net)“创建对象实例是 .NET Framework 做的非常快的事情。您的应用程序可能遇到的任何性能瓶颈都会出现在其他地方。”

关于c# - 如何手动注册 ASP.NET MVC Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30175291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com