Scrubkit.Extensions.DependencyInjection
1.9.0
Prefix Reserved
dotnet add package Scrubkit.Extensions.DependencyInjection --version 1.9.0
NuGet\Install-Package Scrubkit.Extensions.DependencyInjection -Version 1.9.0
<PackageReference Include="Scrubkit.Extensions.DependencyInjection" Version="1.9.0" />
<PackageVersion Include="Scrubkit.Extensions.DependencyInjection" Version="1.9.0" />
<PackageReference Include="Scrubkit.Extensions.DependencyInjection" />
paket add Scrubkit.Extensions.DependencyInjection --version 1.9.0
#r "nuget: Scrubkit.Extensions.DependencyInjection, 1.9.0"
#:package Scrubkit.Extensions.DependencyInjection@1.9.0
#addin nuget:?package=Scrubkit.Extensions.DependencyInjection&version=1.9.0
#tool nuget:?package=Scrubkit.Extensions.DependencyInjection&version=1.9.0
Scrubkit.Extensions.DependencyInjection
Microsoft.Extensions.DependencyInjection integration for
Scrubkit — register a configured
FolderScrubber for constructor injection in ASP.NET Core, worker services, and any other
generic host.
Install
dotnet add package Scrubkit.Extensions.DependencyInjection
Use it
using Scrubkit;
builder.Services.AddScrubkit(options =>
{
options.Recursion = Recursion.AllNested;
options.MaxDegreeOfParallelism = 4;
// options.Extractors.Add(new EmailExtractor()); // register add-ons
// options.Redactor = new StandardRedactor(); // opt into redaction
});
Then inject it wherever you need it:
public sealed class IngestService(FolderScrubber scrubber)
{
public async Task RunAsync(string folder)
{
await foreach (var doc in scrubber.ReadStreamAsync(folder))
// ... embed / index doc.Text + doc.Metadata ...
}
}
AddScrubkit registers FolderScrubber as a singleton and is idempotent (calling it
more than once won't add duplicate registrations). It's fully offline — like the rest of
Scrubkit, nothing leaves your process.
Wiring options from other services
Use the overload that hands you the IServiceProvider to pull DI-registered dependencies
(for example, your own IRedactor) into the options:
builder.Services.AddSingleton<IRedactor, MyRedactor>();
builder.Services.AddScrubkit((sp, options) =>
{
options.Redactor = sp.GetRequiredService<IRedactor>();
});
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- MetadataExtractor (>= 2.9.3)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
- PdfPig (>= 0.1.15)
- Scrubkit (>= 1.9.0)
-
net8.0
- MetadataExtractor (>= 2.9.3)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
- PdfPig (>= 0.1.15)
- Scrubkit (>= 1.9.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Scrubkit.Extensions.DependencyInjection:
| Package | Downloads |
|---|---|
|
Scrubkit.All
Convenience meta-package that references the entire Scrubkit family: the core (PDF/Office/text/image EXIF + CSV/JSON output), the extractor add-ons (.eml, OpenDocument, .epub), the AddScrubkit dependency-injection integration, and — on net8.0 — Parquet output. Install this to read everything out of the box; install the individual packages instead if you want a lean footprint. No code of its own. |
GitHub repositories
This package is not used by any popular GitHub repositories.
1.8.0 — HTML/RTF clean-text, Outlook .msg, and de-identification. New HtmlExtractor (.html/.htm) and RtfExtractor (.rtf) strip markup/control words to clean text instead of returning raw markup (BCL-only). New MsgExtractor reads Outlook .msg (OLE2 compound file) in Scrubkit.Email, completing the email family with no new package. StandardRedactorOptions gains StableTokens (+ TokenSalt) for deterministic, joinable pseudonymisation and RevealLast/MaskChar for format-preserving masks (keep the last 4 of a card); both are also exposed via the CLI --rules JSON. Full changelog: https://github.com/jjopensoftworks-blip/Scrubkit/blob/main/CHANGELOG.md