【发布时间】:2020-10-25 03:26:03
【问题描述】:
我有一个 Blazor 项目,在 Startup.cs 中我添加了一个服务
public void ConfigureServices(IServiceCollection services)
{
....
services.AddSingleton<Models.UserVisit>();
}
我可以像这样在 razor/blazor 页面上使用/访问该服务:
@inject Models.UserVisit userVisitObj
(UserVisit 是 Models 文件夹中的“普通”C# .cs 类)
我不知道如何在没有 razorpage 的普通 C# 类中使用这个“userVisitObj”(我将在其中使用@inject)?
如何在此处使用它(同一项目中的普通 C# 类,但没有 blazor/razor-componentpage):
public class UserModel
{
[BsonId]
public Guid Id { get; set; }
public CultureInfo UserCultureInfo { get; set; }
...
public UserModel()
{
[Inject]
Models.UserVisit userVisitObj; // THAT DOESN'T WORK -- ERROR
}
}
我希望我能把我的问题说清楚一些(请善待我还是个初学者)。
【问题讨论】:
-
一般情况下,您只需关注standard dependency injection。因此,在您的情况下,
UserModel()构造函数会将Models.UserVisit作为参数。但是如何解决这个问题取决于您构建UserModel类的方式/位置
标签: c# class service blazor inject