Ich versuche, eine HTML-Ansicht zu string rendering class i found online zu verwenden. Es heißt PDFRender atm, weil es dafür verwendet wird. Mir wurde gesagt, dass es mit Dependency Injection eingerichtet wurde und dass es aus der Box funktionieren sollte.Instantiate-Klasse mit Abhängigkeitsinjektion
Ich bin nicht sicher, wie man es instanziieren. Da die Abhängigkeiten durch den Konstruktor injiziert werden sollen.
Meine Klasse Konstruktor so aussieht
public PdfRender(IRazorViewEngine viewEngine, ITempDataProvider tempDataProvider, IServiceProvider serviceProvider)
{
_viewEngine = viewEngine;
_tempDataProvider = tempDataProvider;
_serviceProvider = serviceProvider;
}
Und ich stelle es in der Autostart-Klassen ConfigureMetod nach oben() wie diese
// Set up Report PDF html renderer
services.AddScoped<PdfRender, PdfRender>();
Nun versuchen, dies in meinem Code (nach bei der Suche Link-Beispiel)
Aber ich bekomme einen Fehler (natürlich) sagen, dass ich eine nicht zugewiesene va verwenden kann ratifizierbar. Ich denke, ich verstehe nicht, wie der DI verwendet werden soll. Ich nehme an, dass die Idee darin besteht, die standardmäßigen Module viewEngine, dataProvider und serviceProviders anzugeben.
Alle DI-Abhängigkeiten müssen in StarUp selbst definiert werden, ähnlich wie services.AddScoped(). Alternativ können Sie eine Erweiterungsmethode in IServiceCollection schreiben und diese in StarUp aufrufen. –
"Aber ich bekomme einen Fehler (natürlich), dass ich eine nicht zugewiesene Variable verwenden kann.". Ihr Beispiel ist unvollständig. Bitte posten Sie alle relevanten Codes. – Steven