为了账号安全,请及时绑定邮箱和手机立即绑定

在应用程序启动时创建注入对象,而不是在请求时创建

在应用程序启动时创建注入对象,而不是在请求时创建

C#
缥缈止盈 2023-12-17 10:38:07
我创建了一个如下所示的 ASP.NET Core API 项目,启动它,然后等待了几秒钟。 “创建XXX”直到我请求 API URL 后才打印出来。我可以告诉 ASP.NET Core 在启动后无论是否有请求都创建一个 MyXXX 吗?原因是创建/初始化可能需要一段时间MyXXX,如果在请求之前完成,第一个请求会更快。public void ConfigureServices(IServiceCollection services){    services.AddSingleton<IXXX, MyXXX>();    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);}[HttpGet]public ActionResult<string> Get([FromServices]IXXX xxx){    return xxx.Value.ToString();}public interface IXXX{    int Value { get; set; }}class MyXXX : IXXX{    public MyXXX()    {        Debug.WriteLine("Creating XXX");    }    public int Value { get; set; }}
查看完整描述

1 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

是的,当然你可以自己做!

var concrete= new MyXXX();
services.AddSingleton<IXXX>(concrete);


查看完整回答
反对 回复 2023-12-17
  • 1 回答
  • 0 关注
  • 47 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信