- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在阅读.Net Core 中关于 DI 的 MS 文档。
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.2
我遇到了线
"Warning
When using a scoped service in a middleware, inject the service into the Invoke or InvokeAsync method. Don't inject via constructor injection because it forces the service to behave like a singleton."
最佳答案
这记录在 ASP.NET Core 中间件中:Per-request dependencies .
因为中间件是在应用程序启动时构建的,而不是按请求构建的,所以中间件构造函数使用的作用域生命周期服务不会在每个请求期间与其他依赖注入(inject)类型共享。如果您必须在中间件和其他类型之间共享范围服务,请将这些服务添加到 Invoke 方法的签名中。 Invoke 方法可以接受由 DI 填充的其他参数:
public class CustomMiddleware
{
private readonly RequestDelegate _next;
public CustomMiddleware(RequestDelegate next)
{
_next = next;
}
// IMyScopedService is injected into Invoke
public async Task Invoke(HttpContext httpContext, IMyScopedService svc)
{
svc.MyProperty = 1000;
await _next(httpContext);
}
}
关于asp.net-core - "When using a scoped service, inject the service into the Invoke or InvokeAsync"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55449036/
这个问题在这里已经有了答案: Async/await with/without awaiting (fire and forget) (2 个回答) 9 个月前关闭。 编辑:为了澄清起见,这是在 Bl
请我有错误,这是我的代码。 private void ComboBoxSelectionChanged(object sender, SelectionChangedEventArgs e)
我有不同的场景,而不是 this question ,因此另一个问题。 让我们举个例子: void PerformanceCriticalMethod() { Dispatcher.Invok
我想知道将数组传递给 IJSRuntime.InvokeAsync 的最佳方法是什么? . 我偶然发现的问题是 blazor 会将数组的每个元素作为参数传递给 javascript 函数,因为 Inv
在以下方法中,我收到了警告:此异步方法缺少“await”运算符,将同步运行。在此方法中,我可以在哪里使用 await? 注意:此方法返回一个简单的静态 View ,无需与数据库等交互。 public
我有一个解决方案,其中既有 ASP.NET Core 3.1 Web 应用程序项目又有 Razor 客户端库 (RCL) 项目。我正在尝试编写一个 View 组件,该组件将随 Razor 客户端库一起
什么是调用方法? 下面是我的 viewcomponent() 方法。 public IViewComponentResult Invoke() { ViewBag.SelectedCategory
我正在尝试从另一个 Java Lambda 函数中异步调用一个 Java Lambda 函数。我只是想一劳永逸,但是使用 .invokeAsync(InvokeRequest),我必须在 Future
我知道调用StateHasChanged()方法通知组件状态已更改,因此它应该重新渲染。 但是,我也看到了对 await InvokeAsync(StateHasChanged) 的调用。或 awai
如果您有异步方法,如下所示: private async Task DoAsync() { Console.WriteLine(@"(1.1)"); T
我可以访问我的 IHubContext通过构造函数中的 DI 在我的 .NET Core WebAPI Controller 中很好,但我也想在其他地方访问它。 具体来说,当我使用来自 RabbitM
在我的 blazor 服务器端应用程序中,我调用 JSRuntime.InvokeAsync 以在弹出窗口中打开静态内容: await _jsRuntime.InvokeAsync("open", "
我正在尝试解决 SL 性能问题。到目前为止,我有由 InvokeAsync 执行的 WCF 调用。现在,我将其更改为使用 BackgroundWorker。性能大大提高。 什么会导致这种情况? Inv
我已成功将 SignalR.AspNetCore 集成到我的 AbpZero 模板中。一切正常。但是,当我尝试将集线器添加到我的应用程序中时,就像 document 中所述。 ,我在 上收到以下错误
我注意到在 .NET 4.5 中 WPF Dispatcher已经获得了一组新方法来在名为 InvokeAsync 的 Dispatcher 线程上执行内容.之前,.NET 4.5 我们有 Invok
我正在使用 Dotnet Core Blazor 并在删除事件后使用 EventCallBack 绑定(bind)父网格时遇到错误。下面是使用子组件的代码 @foreach (var e
我正在阅读.Net Core 中关于 DI 的 MS 文档。 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-
我的应用程序中使用了以下通过 SignalR 连接进行通信的 DTO/POCO 类: class Base { public string Value { get; set; } } cla
我是一名优秀的程序员,十分优秀!