所以 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)
我在这里缺少什么?
亲切的问候
我在 Blazor WebAssembly 中做一个 Web 项目,我想将特定的 CSS 文件添加到我的 .razor 文件之一,但我不知道如何做到这一点。
有人知道我如何为 ListProducts.razor 添加 CSS 吗?
我有一个这样的条件:
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)
这是可能的,如果可以,如何?
我在同一个集群上有两个 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可以用吗?