我通过以下方法使用服务ITADService:

public async Task GetAllGames()
{
var result = InterpretStringResponse((await _http.GetAsync("api/itad")).ToString());
}

我的剃须刀页面使用以下命令调用此方法:

protected override async Task OnInitializedAsync()
{
    await ITADService.GetAllGames();    
}

这会导致CS0120构建时错误,指出对象引用是必需的,但当我使用以下命令在页面上创建服务的实例时:

private readonly HttpClient _http;
ITADService service = new ITADService(_http);

Visual Studio告诉我,如果它不是静态的,则初始值设定项不能引用它.

这应该怎么做呢?是服务还是页面有问题?

推荐答案

这应该怎么做呢?

  1. Register the ITADService in Program.cs
    services.RegisterScoped<ITADService>();
  2. Inject the HttpClient in the constructor of ITADService
    public ITADService(HttpClient http) { _http = http; }
  3. Inject ITADService into your page
    @inject ITADService iTADService

Csharp相关问答推荐

ASP.NET Core -如何解决Fluent验证中无法访问的扩展方法Message Formatter错误

无法使用ternal- .net修复可空警告

无法从具有一对多关系的C#类中使用Swagger创建记录

如何使用C#和Graph API从Azure Directory获取用户详细信息

Monty Hall游戏节目模拟给我50/50的结果

HttpContext. RequestAborted当Android APP失go 连接时未取消

属性getter和setter之间的空性不匹配?

此反射有什么问题.是否发送值转换委托?

(乌龙)1&#比c#中的UL&#慢吗?

HttpConext.Request.Path和HttpConext.GetEndpoint()之间的差异

如何将不同类型的扩展参数的javascript函数转换成C#风格?

Razor视图Razor页面指向同一端点时的优先级

C#阻塞调用或await calling inside calling方法

在Docker容器中运行API项目时,无法本地浏览到index.html

在PostgreSQL上使用ExecuteSqlRawAsync的C#11原始字符串文字有区分大小写的问题

如何避免在.NET中将日志(log)写入相对路径

如何在Polly重试策略成功之前将HttpClient请求排队?

EF Core 7-忽略模型绑定中的虚拟属性

当要删除的子模型没有父模型的1:多属性时,如何告诉实体框架设置1:1 FK条目?

Unity 3D-意外轴捕捉和未知力对脉冲react 行为的影响