小编Mr.*_*mer的帖子

了解 C# FromServices

所以 iv 刚刚在工作中投入了一些新代码,并且是用 C# 编写的。现在我对 C# 不是很熟悉,有些东西我真的不明白,主要的就是注入方法。

现在有一个 WebAPI,它的控制器使用名为“LocalFileStorage”的类,该类是另一个项目的依赖项,该类的构造函数如下所示。

 public class LocalFileStorageHandler : IStorageHandler
    {
       *Bunch of private variables

        public LocalFileStorageHandler(DbContext dbContext, IConfiguration configuration, ILogger<LocalFileStorageHandler> logger)
        { code here}
Run Code Online (Sandbox Code Playgroud)

现在,在控制器类中,每个使用 LocalFileStorage 的方法都会将其作为参数注入。这是一个例子:

public async Task<IActionResult> ApiMapper([FromBody] dynamic request, [FromServices] IStorageHandler storageHandler)
        
Run Code Online (Sandbox Code Playgroud)

同样在项目startup.cs中我们可以找到这一行:

services.AddScoped<IStorageHandler, LocalFileStorageHandler>();
Run Code Online (Sandbox Code Playgroud)

现在我的理解是,对于发出的每个单独请求,Addscoped 确保该方法获取其自己的 LocalFileStorage 处理程序实例。我还了解到“[FromServices]”属性会导致该实例被注入到该方法中。然而,我不明白并且无法在代码中的任何位置找到的一件事是 LocalFileStorage 对象在哪里为其构造函数获取“In 参数”?

据我了解,每个注入的 LocalFileStorage 实例还应该接收参数:

DbContext dbContext, IConfiguration configuration, ILogger<LocalFileStorageHandler> logger 
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?

亲切的问候

c# dependency-injection asp.net-core

4
推荐指数
1
解决办法
6492
查看次数

将 CSS 添加到 Blazor WebAssembly 视图

我在 Blazor WebAssembly 中做一个 Web 项目,我想将特定的 CSS 文件添加到我的 .razor 文件之一,但我不知道如何做到这一点。

该项目看起来像这样。 在此输入图像描述

有人知道我如何为 ListProducts.razor 添加 CSS 吗?

css asp.net razor asp.net-core blazor

3
推荐指数
1
解决办法
8527
查看次数

保存“If 语句”的输出 c#

我有一个这样的条件:

List<HWSRunSession> session = new List<HWSRunSession>();
foreach (var item in fileInfo)
{
    if(_db.HWSRunSessions.Where((x) => x.TransferredZipName == item.Name 
    && DateTime.Now.Subtract(x.AddedDate).TotalDays >= _ExpirationDays) == null) {
     bla bla...
    }        
}
Run Code Online (Sandbox Code Playgroud)

但是我想session使用“out”关键字将我在条件中检索到的列表保存到我的变量中。就像:

List<HWSRunSession> session = new List<HWSRunSession>();
foreach (var item in fileInfo)
{
    if(_db.HWSRunSessions.Where((x) => x.TransferredZipName == item.Name 
    && DateTime.Now.Subtract(x.AddedDate).TotalDays >= _ExpirationDays), out session == null) {



    }
}
Run Code Online (Sandbox Code Playgroud)

这是可能的,如果可以,如何?

c# out conditional-statements

1
推荐指数
1
解决办法
100
查看次数

同一 Kubernetes 集群上 2 个 API 之间的调用

我在同一个集群上有两个 Api,当我运行 get 服务时,我得到以下信息。

dh-service       ClusterIP   10.233.48.45    <none>        15012/TCP           70d
api-service      ClusterIP   10.233.54.208   <none>        15012/TCP      
Run Code Online (Sandbox Code Playgroud)

现在我想从一个 API 到另一个 API 进行 Api 调用,当我使用两个图像的 Ingress 地址执行此操作时,我得到 404 Not Found。

我应该使用哪个地址进行邮寄​​电话?集群ip可以用吗?

api kubernetes

0
推荐指数
1
解决办法
976
查看次数