我正在生成 HTML 以发送到 PDF 生成器,并在 Stackoverflow 上发现了这个问题。它指向Paris Polyzos和他的文章。在 .Net Core 3.0 中实现代码后,出现以下错误:
Cannot resolve scoped service 'Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.IViewBufferScope' from root provider.
有没有人想过如何解决这个问题?
我正在生成 HTML 以发送到 PDF 生成器,并在 Stackoverflow 上发现了这个问题。它指向Paris Polyzos和他的文章。在 .Net Core 3.0 中实现代码后,出现以下错误:
Cannot resolve scoped service 'Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.IViewBufferScope' from root provider.
有没有人想过如何解决这个问题?
我遇到了同样的问题,因为我需要将 HTML 视图呈现为字符串。我设法通过使用 IServiceScopeFactory 来解决它。您需要注入一个 IServiceScopeFactory(例如通过构造函数),然后使用该 IServiceScopeFactory 使用 CreateScope() 方法创建一个范围,然后将该范围的 ServiceProvider 提供给 HttpContext RequestServices 属性。例如:
class MyRendererService
{
private readonly IServiceScopeFactory _serviceScopeFactory {get; set;}
public MyRendererService(IServiceScopeFactory serviceScopeFactory)
{
_serviceScopeFactory = serviceScopeFactory;
}
public void MyRenderingMethod()
{
using (var scope = _serviceScopeFactory.CreateScope())
{
var httpContext = new DefaultHttpContext() { RequestServices = scope.ServiceProvider };
// The rest of your Html rendering code here...
}
}
}
我知道自从您一个多月前提出这个问题以来,您可能已经解决了这个问题,但它也可能对其他人有所帮助。