wangkanai
Wangkanai is a collection of ASP.NET Core libraries that was developed internally over time and share common usage that would benefit everyone in the open source community as a whole.
File Explorer
Download Latest Version (.zip)- bug_report.md
- design_note.md
- feature_request.md
- claude-code-review.yml
- claude.yml
- dotnet.yml
- copilot-instructions.md
- FUNDING.yml
- RELEASE.yml
- ForeachBenchmark.cs
- Program.cs
- Wangkanai.Annotations.Benchmark.csproj
- NegativeIntegerAttribute.cs
- PositiveIntegerAttribute.cs
- Wangkanai.Annotations.csproj
- ZeroIntegerAttribute.cs
- NegativeIntegerAttributeTests.cs
- PositiveIntegerAttributeTests.cs
- Wangkanai.Annotations.Tests.csproj
- ZeroIntegerAttributeTests.cs
- build.ps1
- Directory.Build.props
- README.md
- sign.ps1
- favicon.gfie
- favicon.ico
- icon-128..png
- icon-16.png
- icon-198.png
- icon-256.png
- icon-32.png
- icon-512.png
- icon-64.png
- wangkanai-logo.afdesign
- responsive-pages-file-structure.png
- responsive-views-file-structure.png
- favicon-128.png
- favicon-16.png
- favicon-32.png
- favicon-64.png
- favicon.gfie
- favicon.ico
- wangkanai-sample-favicon.afdesign
- wangkanai-sample-favicon.svg
- aspnet-core-detection-2.afdesign
- aspnet-core-detection-2.png
- aspnet-core-detection-2.svg
- aspnet-core-detection-3.afdesign
- aspnet-core-detection-3.png
- aspnet-core-detection-3.svg
- aspnet-core-detection-social-preview.afdesign
- aspnet-core-detection-social-preview.png
- aspnet-core-detection.afdesign
- aspnet-core-detection.png
- aspnet-core-detection.svg
- aspnet-core-detection.vsdx
- aspnet-core-responsive.afdesign
- aspnet-core-responsive.png
- aspnet-core-responsive.svg
- aspnet-core-responsive.vsdx
- Assets.csproj
- avatar.png
- blazor-logo.afdesign
- blazor-logo.svg
- favicon.ico
- favicon.png
- jetbrains-rider.svg
- nuget-logo.afdesign
- universal-logo.afdesign
- universal-logo.png
- wangkanai-badge-nuget.afdesign
- wangkanai-badge-nuget.svg
- wangkanai-banner-federation.png
- wangkanai-banner-federation.svg
- wangkanai-banner-rider.afdesign
- wangkanai-banner-rider.png
- wangkanai-banner-rider.svg
- wangkanai-banner.afdesign
- wangkanai-logo-large.png
- wangkanai-logo.afdesign
- wangkanai-logo.ico
- wangkanai-logo.png
- wangkanai-logo.svg
- wangkanai-social.afdesign
- wangkanai-social.png
- wangkanai-social.svg
- Adler32Benchmark.cs
- HashBenchmark.cs
- Program.cs
- Wangkanai.Cryptography.Benchmark.csproj
- Adler32.cs
- Base64Url.cs
- Hash.cs
- HashRandom.cs
- Wangkanai.Cryptography.csproj
- Adler32Tests.cs
- Base64UrlTests.cs
- HashRandomTests.cs
- HashTests.cs
- Usings.cs
- Wangkanai.Cryptography.Tests.csproj
- build.ps1
- Directory.Build.props
- README.md
- sign.ps1
- .gitignore
- DetectionBenchmark.cs
- Program.cs
- TrieBenchmark.cs
- Wangkanai.Detection.Benchmark.csproj
- useragents.tsv
- MobileCollection.cs
- TabletCollection.cs
- Core.cs
- CrawlerOptions.cs
- DetectionOptions.cs
- DetectionApplicationExtensions.cs
- DetectionBuilder.cs
- DetectionCollectionExtensions.cs
- IDetectionBuilder.cs
- IPrefixTrie.cs
- KmpPrefixTrie.cs
- PrefixTrie.cs
- SearchExtensions.cs
- UserAgentExtensions.cs
- VersionExtensions.cs
- Browser.cs
- BrowserFeature.cs
- Crawler.cs
- Device.cs
- Engine.cs
- Platform.cs
- Processor.cs
- UserAgent.cs
- AssemblyInfo.cs
- IBrowserService.cs
- ICrawlerService.cs
- IDetectionService.cs
- IDeviceService.cs
- IEngineService.cs
- IHttpContextService.cs
- IPlatformService.cs
- IUserAgentService.cs
- BrowserService.cs
- CrawlerService.cs
- DetectionService.cs
- DeviceService.cs
- EngineService.cs
- HttpContextService.cs
- MarkerService.cs
- PlatformService.cs
- UserAgentService.cs
- BrowserTagHelper.cs
- CrawlerTagHelper.cs
- DeviceTagHelper.cs
- EngineTagHelper.cs
- PlatformTagHelper.cs
- Constants.cs
- key.snk
- public.snk
- Usings.cs
- Wangkanai.Detection.csproj
- ApplicationBuilderExtensionsTest.cs
- CoreBuilderExtensionsTests.cs
- BasePrefixTrieTests.cs
- KmpPrefixTrieEdgeCaseTests.cs
- KmpPrefixTrieTests.cs
- PrefixTrieEdgeCaseTests.cs
- PrefixTrieTests.cs
- UserAgentExtensionsTests.cs
- VersionExtensionsTests.cs
- MockClient.cs
- MockHttpContextAccessor.cs
- MockPageRouteModel.cs
- MockServer.cs
- MockService.cs
- MockTagHelper.cs
- UserAgentTest.cs
- VersionTest.cs
- BrowserServiceTests.cs
- CrawlerServiceTests.cs
- DetectionServiceTests.cs
- DeviceServiceTests.cs
- EngineServiceTests.cs
- PlatformServiceTests.cs
- UserAgentServiceTests.cs
- Usings.cs
- Wangkanai.Detection.Tests.csproj
- build.ps1
- Directory.Build.props
- install.md
- NUGET.md
- README.md
- sign.ps1
- plan-2025-07.md
- Directory.Build.props
- README.md
- FirstBenchmark.cs
- Program.cs
- Wangkanai.Extensions.FileProviders.Benchmark.csproj
- FileInfoExtensions.cs
- ImageExtension.cs
- Wangkanai.Extensions.FileProviders.csproj
- FileInfoExtensionTests.cs
- Usings.cs
- Wangkanai.Extensions.FileProviders.Tests.csproj
- Directory.Build.props
- README.md
- FirstBenchmark.cs
- Program.cs
- Wangkanai.Extensions.Html.Benchmark.csproj
- AssemblyInfo.cs
- HtmlConversionExtensions.cs
- Usings.cs
- Wangkanai.Extensions.Html.csproj
- Usings.cs
- Wangkanai.Extensions.Html.Tests.csproj
- Directory.Build.props
- README.md
- FirstBenchmark.cs
- Program.cs
- Wangkanai.Extensions.Internal.Benchmark.csproj
- AssemblyInfo.cs
- AwaitableInfo.cs
- CoercedAwaitableInfo.cs
- CopyOnWriteDictionary.cs
- ObjectMethodExecutor.cs
- ObjectMethodExecutorAwaitable.cs
- ObjectMethodExecutorFSharpSupport.cs
- TypeNameHelper.cs
- Wangkanai.Extensions.Internal.csproj
- TypeNameHelperTests.cs
- Usings.cs
- Wangkanai.Extensions.Internal.Tests.csproj
- Directory.Build.props
- README.md
- build.ps1
- Directory.Build.props
- README.md
- sign.ps1
- FirstBenchmark.cs
- Program.cs
- Wangkanai.Hosting.Benchmark.csproj
- IMarkerService.cs
- ApplicationBuilderExtensions.cs
- CoreBuilderExtensions.cs
- StringExtensions.cs
- AssemblyInfo.cs
- MarkerService.cs
- Wangkanai.Hosting.csproj
- MockServer.cs
- ApplicationBuilderExtensionTests.cs
- CoreBuilderTests.cs
- StringExtensionTests.cs
- Usings.cs
- Wangkanai.Hosting.Tests.csproj
- build.ps1
- Directory.Build.props
- README.md
- sign.ps1
- FirstBenchmark.cs
- Program.cs
- Wangkanai.Mvc.Benchmark.csproj
- ControllerActionDescriptor.cs
- ControllerActionInvokerCacheEntry.cs
- ControllerBinderDelegate.cs
- FilterDescriptorOrderComparer.cs
- ActionMethodExecutor.cs
- ActionSelectionTable.cs
- ControllerEndpointFilterInvocationContext.cs
- OrderedEndpointsSequenceProvider.cs
- OrderedEndpointsSequenceProviderCache.cs
- AssemblyInfo.cs
- AcceptsMetadata.cs
- ActionEndpointDataSourceBase.cs
- ActionEndpointFactory.cs
- ConventionalRouteEntry.cs
- DataSourceDependentCache.cs
- IRequestDelegateFactory.cs
- NormalizedRouteValue.cs
- ViewEnginePath.cs
- EndpointMetadataPopulator.cs
- Resources.Designer.cs
- Resources.resx
- Wangkanai.Mvc.csproj
- MockTests.cs
- Usings.cs
- Wangkanai.Mvc.Tests.csproj
- build.ps1
- Directory.Build.props
- README.md
- sign.ps1
- Program.cs
- ResponsiveServiceBenchmark.cs
- Wangkanai.Responsive.Benchmark.csproj
- responsive-pages-file-structure.png
- responsive-views-file-structure.png
- Core.cs
- IResponsiveBuilder.cs
- ResponsiveApplicationExtensions.cs
- ResponsiveBuilder.cs
- ResponsiveCollectionExtensions.cs
- HttpContextExtensions.cs
- IResponsiveMetadata.cs
- PageLocationExpander.cs
- PageMatcherPolicy.cs
- PageRouteModelConvention.cs
- PreferenceController.cs
- ResponsiveAttribute.cs
- ResponsiveMiddleware.cs
- ViewLocationExpander.cs
- ViewLocationFormat.cs
- ResponsiveOptions.cs
- AssemblyInfo.cs
- IResponsiveService.cs
- ResponsiveMarkerService.cs
- ResponsiveService.cs
- PreferenceTagHelper.cs
- Usings.cs
- Wangkanai.Responsive.csproj
- CoreBuilderExtensionsTests.cs
- ResponsiveBuilderExtensionsTests.cs
- HttpContextExtensionsTest.cs
- PageRouteModelConventionTest.cs
- PreferenceSessionTest.cs
- ResponsiveMiddlewareTest.cs
- ViewLocationExpanderTest.cs
- MockClient.cs
- MockHttpContextAccessor.cs
- MockPageRouteModel.cs
- MockServer.cs
- MockService.cs
- ResponsiveServiceTest.cs
- Wangkanai.Responsive.Tests.csproj
- build.ps1
- Directory.Build.props
- INSTALL.md
- README.md
- sign.ps1
- FirstBenchmark.cs
- Program.cs
- Wangkanai.Shared.Benchmark.csproj
- LinkerFlags.cs
- QueryStringEnumerable.cs
- Tracing.cs
- Wangkanai.Shared.csproj
- UnitTest1.cs
- Usings.cs
- Wangkanai.Shared.Tests.csproj
- build.ps1
- README.md
- ForLoopBenchmark.cs
- MathBenchmark.cs
- Program.cs
- StringSpanVsSubstringBenchmark.cs
- Wangkanai.System.Benchmark.csproj
- ExceptionActivator.cs
- NullConditionalExtensions.cs
- NullEqualityExtensions.cs
- ThrowIfEmptyEnumerableExtensions.cs
- ThrowIfEmptyStringExtensions.cs
- ThrowIfEqualExtensions.cs
- ThrowIfLessThanExtensions.cs
- ThrowIfMoreThanExtensions.cs
- ThrowIfNegativeExtensions.cs
- ThrowIfNotEqualExtensions.cs
- ThrowIfNullExtensions.cs
- ThrowIfNullGenericExtensions.cs
- ThrowIfNullObjectExtensions.cs
- ThrowIfNullOrEmptyExtensions.cs
- ThrowIfNullOrWhitespaceExtensions.cs
- ThrowIfOutOfRangeExtension.cs
- ThrowIfPositiveExtensions.cs
- ThrowIfWhitespaceExtensions.cs
- ThrowIfZeroExtensions.cs
- ComparisonComparer.cs
- DictionaryByType.cs
- LinkedComparer.cs
- ProjectionComparer.cs
- ProjectionEqualityComparer.cs
- RandomAccessQueue.cs
- Range.cs
- RangeIterator.cs
- ReverseComparer.cs
- StringArrayComparer.cs
- AbstractTypeFactory.cs
- GenericTypeInfo.cs
- ArgumentEmptyException.cs
- ArgumentEqualException.cs
- ArgumentLessThanException.cs
- ArgumentMoreThanException.cs
- ArgumentNegativeException.cs
- ArgumentNotEqualException.cs
- ArgumentNullOrEmptyException.cs
- ArgumentNullOrWhitespaceException.cs
- ArgumentPositiveException.cs
- ArgumentWhitespaceException.cs
- ArgumentZeroException.cs
- DateTimeFactoryExtensions.cs
- TimeSpanFactoryExtensions.cs
- AssemblyExtensions.cs
- AttributeExtensions.cs
- BinaryScalingExtensions.cs
- CollectionExtension.cs
- ComparerExtensions.cs
- DateTimeExtensions.cs
- DictionaryExtensions.cs
- EnumerableExtensions.cs
- EnumExtensions.cs
- EnumValues.cs
- KeyValuePairExtensions.cs
- ObservableCollectionExtensions.cs
- QueryableExtensions.cs
- SerializationExtensions.cs
- SpanExtensions.cs
- StreamExtensions.cs
- StringExtensions.cs
- TreeExtensions.cs
- TypeExtensions.cs
- ExpressionFactory.cs
- ClassNullOperator.cs
- INullOperator.cs
- Operator.cs
- StructNullOperator.cs
- AssemblyInfo.cs
- AssemblyVersion.cs
- PropertyCopy.cs
- AnnotationResources.cs
- ExceptionResources.cs
- ObsoleteResources.cs
- SystemResources.cs
- Constants.cs
- Decorator.cs
- Mathematical.cs
- StaticRandom.cs
- Usings.cs
- Wangkanai.System.csproj
- CheckBooleanTests.cs
- CheckCompareTests.cs
- CheckEmptyListTests.cs
- CheckEmptyStringTests.cs
- CheckIndexRangeTests.cs
- CheckNullTests.cs
- CheckNumericTests.cs
- CheckStringTests.cs
- CreateExceptionInstanceTests.cs
- NullEqualityTests.cs
- ComparisonComparerTests.cs
- DictionaryByTypeTests.cs
- NameAndNumber.cs
- ProjectionComparerTests.cs
- ProjectionEqualityComparerTests.cs
- RandomAccessQueueTests.cs
- RangeIteratorTests.cs
- RangeTests.cs
- ReverseComparerTests.cs
- AbstractTypeFactoryTests.cs
- GenericTypeInfoTests.cs
- DateTimeFactoryExtensionsTests.cs
- TimeSpanFactoryExtensionsTests.cs
- ReplaceOrdinalTests.cs
- StringAccentTests.cs
- StringEnsureEndTests.cs
- StringEnsureStartTests.cs
- StringEnumTests.cs
- StringEscapeTests.cs
- StringNullTests.cs
- StringRemoveFix.cs
- StringSelectorTests.cs
- StringSeparationListTests.cs
- StringSeparationSpaceTests.cs
- StringSlashTests.cs
- StringSlugTests.cs
- StringSplitTests.cs
- StringSubstringTests.cs
- StringTitleCaseTests.cs
- StringTrimTests.cs
- StringTruncateTests.cs
- StringUnicodeTests.cs
- AssemblyExtensionsTests.cs
- AttributeExtensionsTests.cs
- BinaryScalingExtensionsTests.cs
- CollectionExtensionsTests.cs
- ComparerExtensionsTests.cs
- DateTimeExtensionsTests.cs
- DictionaryExtensionsTests.cs
- EnumerableExtensionsTests.cs
- EnumExtensionsTests.cs
- EnumValuesTests.cs
- KeyValuePairExtensionsTests.cs
- ObservableCollectionExtensionsTests.cs
- QueryableExtensionsTests.cs
- SerializationExtensionsTests.cs
- SpanExtensionsTests.cs
- StreamExtensionsTests.cs
- TreeExtensionsTests.cs
- TypeExtensionsTests.cs
- PropertyCopyTests.cs
- CustomArgumentException.cs
- CustomEmptyException.cs
- DecoratorTests.cs
- MathTests.cs
- OperatorTests.cs
- RandomGenerator.cs
- StaticRandomTests.cs
- Usings.cs
- Wangkanai.System.Tests.csproj
- build.ps1
- Directory.Build.props
- README.md
- sign.ps1
- Program.cs
- Wangkanai.Testing.Benchmark.csproj
- AssertionBuilder.cs
- IAssertionBuilder.cs
- AssertionBuilderExtensions.cs
- AssertionCollectionExtensions.cs
- AssertionHelperExtensions.cs
- AssemblyInfo.cs
- IAssertionService.cs
- ILifetimeService.cs
- IScopedService.cs
- ISingletonService.cs
- ITransientService.cs
- AssertionMarkerService.cs
- AssertionService.cs
- ScopedService.cs
- SingletonService.cs
- TransientService.cs
- AssertionOptions.cs
- Usings.cs
- Wangkanai.Testing.csproj
- AssertionHelperExtensionsTests.cs
- MockTests.cs
- Usings.cs
- Wangkanai.Testing.Tests.csproj
- build.ps1
- Directory.Build.props
- README.md
- sign.ps1
- Wangkanai.MSBuild.csproj
- Wangkanai.MSBuild.Tests.csproj
- Directory.Build.props
- README.md
- Wangkanai.Watcher.csproj
- Usings.cs
- Wangkanai.Watcher.Tests.csproj
- Directory.Build.props
- README.md
- build.ps1
- Directory.Build.props
- README.md
- sign.ps1
- FirstBenchmark.cs
- Program.cs
- Wangkanai.Validation.Benchmark.csproj
- AssemblyInfo.cs
- RequireDigitAttribute.cs
- RequireFalseAttribute.cs
- RequireLowercaseAttribute.cs
- RequireNonAlphanumericAttribute.cs
- RequireTrueAttribute.cs
- RequireUniqueCharAttribute.cs
- RequireUppercaseAttribute.cs
- Usings.cs
- Wangkanai.Validation.csproj
- ValidationExtensions.cs
- BaseModel.cs
- BooleanModel.cs
- DigitModel.cs
- IPasswordModel.cs
- LowercaseModel.cs
- NonAlphanumericModel.cs
- UniqueModel.cs
- UppercaseModel.cs
- RequireBooleanTests.cs
- RequireDigitTests.cs
- RequireLowercaseTests.cs
- RequireNonAlphanumericTests.cs
- RequireUniqueTests.cs
- RequireUppercaseTest.cs
- Wangkanai.Validation.Tests.csproj
- build.ps1
- Directory.Build.props
- README.md
- sign.ps1
- repository-open-graph.afdesign
- repository-open-graph.png
- wangkanai-logo.afdesign
- wangkanai-logo.ico
- wangkanai-logo.png
- wangkanai-logo.svg
- webmaster-logo-v2.afdesign
- webmaster-logo.afdesign
- webmaster-logo.png
- GravatarBenchmark.cs
- Program.cs
- Wangkanai.Webmaster.Benchmark.csproj
- MetaDescriptionAttribute.cs
- MetaKeywordsAttribute.cs
- Core.cs
- Routing.cs
- WebmasterOption.cs
- IWebmasterBuilder.cs
- WebmasterApplicationExtensions.cs
- WebmasterBuilder.cs
- WebmasterCollectionExtensions.cs
- Gravatar.cs
- WebmasterMiddleware.cs
- GravatarMode.cs
- GravatarRating.cs
- IconSize.cs
- AssemblyInfo.cs
- LanguageRouteContraint.cs
- IWebmasterService.cs
- MarkerService.cs
- WebmasterService.cs
- AlternateTagHelper.cs
- CanonicalTagHelper.cs
- GravatarTagHelper.cs
- ImageInlineTagHelper.cs
- InlineImgTagHelper.cs
- InlineScriptTagHelper.cs
- InlineStyleTagHelper.cs
- InlineTagHelper.cs
- MetaDescriptionTagHelper.cs
- MetaKeywordTagHelper.cs
- VersionTagHelper.cs
- Constants.cs
- Usings.cs
- Wangkanai.Webmaster.csproj
- CoreBuilderExtensionsTests.cs
- WebmasterMiddlewareTests.cs
- LanguageRouteContraintTest.cs
- Wangkanai.Webmaster.Tests.csproj
- build.ps1
- Directory.Build.props
- INSTALL.md
- README.md
- sign.ps1
- FirstBenchmark.cs
- Program.cs
- Wangkanai.WebServer.Benchmark.csproj
- WebserverOptions.cs
- CoreBuilderExtensions.cs
- DecoratorServiceExtensions.cs
- IWebserverBuilder.cs
- WebserverApplicationExtensions.cs
- WebserverBuilder.cs
- WebserverCollectionExtensions.cs
- ApplicationBuilderExtensions.cs
- ConfigurationExtensions.cs
- HttpResponseExtensions.cs
- WebserverMiddleware.cs
- AssemblyInfo.cs
- IWebserverService.cs
- MarkerService.cs
- WebserverService.cs
- AppSettings.cs
- Usings.cs
- Wangkanai.Webserver.csproj
- WebserverConstants.cs
- WebserverCollectionExtensionTests.cs
- Wangkanai.Webserver.Tests.csproj
- build.ps1
- Directory.Build.props
- README.md
- sign.ps1
- .editorconfig
- .gitattributes
- .gitignore
- .repomixignore
- build.ps1
- CLAUDE.md
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- Directory.Build.props
- Directory.Build.targets
- Directory.Packages.props
- domain-plan.md
- LICENSE
- md-styles.css
- MIGRATION.md
- qodana.sarif.json
- qodana.yaml
- README.md
- repomix.config.json
- sign.ps1
- SonarQube.Analysis.xml
- Wangkanai.slnx
# Installation Guide
1. Get the code
git clone https://github.com/wangkanai/wangkanai
Downloads the entire project code from GitHub to your computer.
cd wangkanai
Moves into the project folder you just downloaded.
2. .NET
Medium RecommendedPrerequisites
cd Annotations/benchmark
This project's files live in a subfolder, so move into it first.
dotnet restore
Downloads the packages the project depends on.
dotnet run
Builds the project and runs it immediately.
After dotnet run, check the message or address shown in the terminal.
// repository documentation
Was this content helpful?
(0 ratings)
