Wangkanai.Detection 2.0.0-beta8

The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved
This is a prerelease version of Wangkanai.Detection.
There is a newer version of this package available.
See the version list below for details.
The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package Wangkanai.Detection --version 2.0.0-beta8
NuGet\Install-Package Wangkanai.Detection -Version 2.0.0-beta8
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Wangkanai.Detection" Version="2.0.0-beta8" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Wangkanai.Detection --version 2.0.0-beta8
#r "nuget: Wangkanai.Detection, 2.0.0-beta8"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Wangkanai.Detection as a Cake Addin
#addin nuget:?package=Wangkanai.Detection&version=2.0.0-beta8&prerelease

// Install Wangkanai.Detection as a Cake Tool
#tool nuget:?package=Wangkanai.Detection&version=2.0.0-beta8&prerelease

ASP.NET Core Detection

ASP.NET Core client web browser detection extension to resolve devices, platforms, engine of the client.

The library is the base foundation for ASP.NET Core Responsive

ASP.NET Core Responsive

Build status NuGet Badge

Build history

Installation (beta7)

Installation of detection library is now done with a single package reference point.

PM> install-package Wangkanai.Detection -pre

While it is still possible to install the individual package if you just need that specific resolver.

PM> install-package Wangkanai.Detection.Device -pre  
PM> install-package Wangkanai.Detection.Browser -pre  
PM> install-package Wangkanai.Detection.Engine -pre   //concept
PM> install-package Wangkanai.Detection.Platform -pre //concept
PM> install-package Wangkanai.Detection.Crawler -pre  

Configuration (beta8) {Breaking change #59}

This library host the component to resolve the access client device type.

Implement of the library into your web application is done by configuring the Startup.cs by adding the detection service in the ConfigureServices method.

public void ConfigureServices(IServiceCollection services)
{
	// Add detection services container and device resolver service.
    services.AddDetection();

    // Add framework services.
    services.AddMvc();
}
  • AddDetection() Adds the detection services to the services container.

While the detection service is configured globally, its can also be configure individually if you only need some functions.

public void ConfigureServices(IServiceCollection services)
{
    // Add detection services container and device resolver service.
    services.AddDetectionCore()
        .AddDevice()
        .AddBrowser()
        .AddPlatform()  // concept
        .AddEngine()    // concept
        .AddCrawler();

    // Add framework services.
    services.AddMvc();
}
  • AddDetectionCore() Adds the detection services to the services container.
  • AddDevice() Adds the device resolver service to the detection core services builder.
  • AddBrowser() Adds the browser resolver service to the detection core services builder.
  • AddPlatform() Adds the platform resolver service to the detection core services builder.
  • AddEngine() Adds the engine resolver service to the detection core services builder.
  • AddCrawler() Adds the crawler resolver service to the detection core services builder.

Global Resolver (beta8)

This library host the component to resolve all the access client related resolver that could resolve.

Example of calling the detection service in the Controller using dependency injection.

public class HomeController : Controller
{
    private readonly IDetection _detection;

    public HomeController(IDetection detection)
    {
        _detection = detection;
    }

    public IActionResult Index()
    {
        return View(_detection);
    }
}
  • IDetection is main service for you to access detection service.

Device Resolver

This library host the component to resolve the access client device type.

Example of calling the detection service in the Controller using dependency injection.

public class HomeController : Controller
{    
    private readonly IUserAgent _useragent;
    private readonly IDevice _device;   

    public HomeController(IDeviceResolver deviceResolver)
    {
        _useragent = deviceResolver.UserAgent;
        _device = deviceResolver.Device;
    }

    public IActionResult Index()
    {            
        return View();
    }
}
  • IDetectionService is main service for you to access UserAgent

Browser Resolver (beta7)

This library host the component to resolve the access client browser type and version.

Example of calling the detection service in the Controller using dependency injection.

public class HomeController : Controller
{    
    private readonly IUserAgent _useragent;
    private readonly IBrowser _browser;   

    public HomeController(IBrowserResolver browserResolver)
    {
        _useragent = browserResolver.UserAgent;
        _browser = browserResolver.Browser;
    }

    public IActionResult Index()
    {            
        return View();
    }
}
  • IDetectionService is main service for you to access UserAgent.

Platform Resolver (concept)

This library host the component to resolve the access client platform type and version.

Example of calling the detection service in the Controller using dependency injection.

public class HomeController : Controller
{    
    private readonly IUserAgent _useragent;
    private readonly IPlatform _platform;   

    public HomeController(IPlatformResolver platformResolver)
    {
        _useragent = platformResolver.UserAgent;
        _platform = platformResolver.Platform;
    }

    public IActionResult Index()
    {            
        return View();
    }
}
  • IDetectionService is main service for you to access UserAgent.

Engine Resolver (concept)

This library host the component to resolve the access client engine type and version.

Example of calling the detection service in the Controller using dependency injection.

public class HomeController : Controller
{    
    private readonly IUserAgent _useragent;
    private readonly IEngine _engine;   

    public HomeController(IEngineResolver engineResolver)
    {
        _useragent = engineResolver.UserAgent;
        _engine = engineResolver.Engine;
    }

    public IActionResult Index()
    {            
        return View();
    }
}
  • IDetectionService is main service for you to access UserAgent.

Crawler Resolver (beta8)

This library host the component to resolve the access client crawler type and version.

Example of calling the detection service in the Controller using dependency injection.

public class HomeController : Controller
{    
    private readonly IUserAgent _useragent;
    private readonly ICrawler _crawler;   

    public HomeController(ICrawlerResolver crawlerResolver)
    {
        _useragent = crawlerResolver.UserAgent;
        _crawler = crawlerResolver.Crawler;
    }

    public IActionResult Index()
    {            
        return View();
    }
}
  • IDetectionService is main service for you to access UserAgent.

Directory Structure

  • src - The code of this project lives here
  • test - Unit tests of this project to valid that everything pass specs
  • sample - Contains sample web application of usage
Product 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 was computed.  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. 
.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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (13)

Showing the top 5 NuGet packages that depend on Wangkanai.Detection:

Package Downloads
WebVella.Erp.Web

The web components library for the open-source and free platform WebVella ERP. It allows a quick and painless creation of business web applications.

Wangkanai.Responsive The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

ASP.NET Core Responsive middleware for routing base upon request client device detection to specific view. Also in the added feature of user preference made this library even more comprehensive must for developers whom to target multiple devices with view rendered and optimized directly from the server side.

Wangkanai.Analytics The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Embrace the power of data with Analytics, a .NET Core library for comprehensive website tracking. Delve into insightful statistics, understand your audience better, and make data-driven decisions with ease. From session duration to bounce rate, Analytics transforms raw data into meaningful insights. Join our community, shine a light on your website's performance, and let's unlock the full potential of website analytics with Analytics.

ZC.Middleware.DefaultAPI

Package Description

Wangkanai.Webmaster The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Revolutionize your SEO with Wangkanai Webmaster. This ASP.NET Core tool boosts your site's traffic and visibility. Ideal for developers aiming to elevate their site's SEO. A must-have for enhanced web traffic, visibility, and efficiency

GitHub repositories (5)

Showing the top 5 popular GitHub repositories that depend on Wangkanai.Detection:

Repository Stars
grandnode/grandnode
Open source, headless, multi-tenant eCommerce platform built with .NET Core, MongoDB, AWS DocumentDB, Azure CosmosDB, Vue.js.
WebVella/WebVella-ERP
Free and open-source pluggable ERP and CRM software based on ASP.NET Core 5, RazorPages and PostgreSQL . Targets Linux or Windows as host OS.
grandnode/grandnode2
Open-Source eCommerce Platform on .NET Core, MongoDB, AWS DocumentDB, Azure CosmosDB, LiteDB & Vue.js
mrellipse/toucan
Boilerplate template using Vue.js, TypeScript and .NET Core 2.1, based on SOLID design principles
episerver/Foundation
Foundation offers a starting point that is intuitive, well-structured and modular allowing developers to explore CMS, Commerce, Personalization, Search and Navigation, Data Platform and Experimentation.
Version Downloads Last updated
8.14.0 50 5/8/2024
8.13.0 805 4/27/2024
8.12.0 13,031 3/9/2024
8.11.0 39,978 11/27/2023
8.10.0 1,279 11/23/2023
8.9.0 6,712 11/17/2023
8.8.0 1,374 11/15/2023
8.7.0 3,555 11/1/2023
8.6.0 826 10/22/2023
8.5.0 624 10/6/2023
8.4.0 771 9/28/2023
8.3.0 737 9/21/2023
8.2.0 2,158 7/20/2023
8.1.0 17,699 7/1/2023
8.0.0 2,031 6/28/2023
7.4.0 75,311 6/16/2023
7.3.2 63,761 6/7/2023
7.3.1 1,457 6/7/2023
7.3.0 33,930 5/15/2023
7.2.0 2,853 5/11/2023
7.1.1 34,866 4/13/2023
7.1.0 14,057 4/3/2023
7.0.0 73,054 1/18/2023
6.11.4 35,331 1/17/2023
6.11.3 40,249 1/10/2023
6.11.2 4,686 1/3/2023
6.11.1 2,536 12/31/2022
6.11.0 8,134 12/27/2022
6.10.0 3,546 12/23/2022
6.9.0 31,746 11/30/2022
6.8.0 7,070 11/28/2022
6.7.0 1,384 11/27/2022
6.6.0 2,466 11/26/2022
6.5.0 1,283 11/26/2022
6.4.0 2,191 11/24/2022
6.3.0 1,503 11/24/2022
6.2.0 19,352 11/14/2022
6.1.0 18,252 11/9/2022
6.0.0 2,475 11/9/2022
5.7.3 40,025 10/16/2022
5.7.2 26,241 9/27/2022
5.7.1 39,069 9/19/2022
5.7.0 8,604 9/13/2022
5.6.0 1,948 9/13/2022
5.5.300 3,151 9/9/2022
5.5.200 107,540 8/23/2022
5.5.100 1,446 8/21/2022
5.4.0 941 8/20/2022
5.3.0 54,476 6/23/2022
5.2.1 63,551 5/2/2022
5.2.0 99,738 3/8/2022
5.1.0 42,703 3/6/2022
5.0.0 14,479 2/9/2022
5.0.0-alpha8 723 2/9/2022
5.0.0-alpha7 709 2/8/2022
5.0.0-alpha6 445 2/8/2022
5.0.0-alpha5 782 2/4/2022
5.0.0-alpha4 4,201 12/7/2021
5.0.0-alpha3 544 12/5/2021
5.0.0-alpha2 501 12/4/2021
5.0.0-alpha1 471 12/3/2021
4.0.0 173,511 12/2/2021
4.0.0-beta4 472 12/2/2021
4.0.0-beta3 5,555 7/30/2021
4.0.0-beta2 60,081 5/11/2021
4.0.0-Beta1 776 5/5/2021
3.0.0 386,095 12/20/2020
3.0.0-beta2 738 12/20/2020
3.0.0-beta1 7,055 11/22/2020
3.0.0-alpha14 18,488 10/19/2020
3.0.0-alpha13 2,932 10/12/2020
3.0.0-alpha12 1,158 10/3/2020
3.0.0-alpha11 2,285 9/25/2020
3.0.0-alpha10 36,382 5/18/2020
3.0.0-alpha09 60,401 2/18/2020
3.0.0-alpha08 828 2/14/2020
3.0.0-alpha07 3,633 2/6/2020
3.0.0-alpha06 1,373 2/3/2020
3.0.0-alpha05 2,043 1/27/2020
3.0.0-alpha04 734 1/27/2020
3.0.0-alpha03 741 1/26/2020
3.0.0-alpha02 787 1/18/2020
3.0.0-alpha01 1,651 1/14/2020
2.0.1 220,018 9/25/2020
2.0.0 193,989 12/29/2019