# ClientBrowser

Namespace: **Wisej.Core**

Assembly: **Wisej.Framework** (2.2.0.0)

Properties of the client browser currently interacting with the application.

{% tabs %}
{% tab title="C#" %}

```csharp
public class ClientBrowser
```

{% endtab %}

{% tab title="VB.NET" %}

```visual-basic
Public Class ClientBrowser
```

{% endtab %}
{% endtabs %}

## Fields

| Name               | Type                                                                        | Description                                                                                                            |
| ------------------ | --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **CookieStorage**  | [CookieStorage](/api/v2.2/wisej.core/general/wisej.core.cookiestorage.md)   | Returns an instance of the [CookieStorage](#fields) class that represents the "cookies" storage in the browser.        |
| **LocalStorage**   | [LocalStorage](/api/v2.2/wisej.core/general/wisej.core.localstorage.md)     | Returns an instance of the [LocalStorage](#fields) class that represents the "localStorage" object in the browser.     |
| **SessionStorage** | [SessionStorage](/api/v2.2/wisej.core/general/wisej.core.sessionstorage.md) | Returns an instance of the [SessionStorage](#fields) class that represents the "sessionStorage" object in the browser. |

## Properties

### ![](/files/-MTRl851gGvQXMvSEG1f)CultureInfo

[CultureInfo](https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo): Returns the locale declared in the application configuration file or detected from the client browser.

### ![](/files/-MTRl851gGvQXMvSEG1f)Device

[String](https://docs.microsoft.com/en-us/dotnet/api/system.string): Device type. Can be one of "Mobile", "Tablet" or "Desktop".

### ![](/files/-MTRl851gGvQXMvSEG1f)Features

[Object](https://docs.microsoft.com/en-us/dotnet/api/system.object): Returns the set of features supported/not-supported by the browser. Currently we detect: geolocation, webSocket, fullScreen, speechSynthesis, speechRecognition, notification, fullScreen, browserStorage.

### ![](/files/-MTRl851gGvQXMvSEG1f)IsFullScreen

[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean): Returns true if the browser is in full screen mode.

### ![](/files/-MTRl851gGvQXMvSEG1f)IsSecure

[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean): Returns true if the connection is secure.

### ![](/files/-MTRl851gGvQXMvSEG1f)Language

[String](https://docs.microsoft.com/en-us/dotnet/api/system.string): Client language.

### ![](/files/-MTRl851gGvQXMvSEG1f)OS

[String](https://docs.microsoft.com/en-us/dotnet/api/system.string): Client OS. Can be one of "iOS", "Android", "WebOS", "BlackBerry", "MacOS", "Linux", "Windows", "Unix", "Other".

### ![](/files/-MTRl851gGvQXMvSEG1f)PixelRatio

[Double](https://docs.microsoft.com/en-us/dotnet/api/system.double): Returns the ratio of the resolution in physical pixels to the resolution in CSS pixels for the current display device.

### ![](/files/-MTRl851gGvQXMvSEG1f)Profiles

[ClientProfile\[\]](/api/v2.2/wisej.core/general/wisej.core.clientprofile.md):

### ![](/files/-MTRl851gGvQXMvSEG1f)ScreenSize

[Size](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.size): Screen size.

### ![](/files/-MTRl851gGvQXMvSEG1f)Size

[Size](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.size): Browser size. This is the window size, which can be different from the device (or screen) size.

### ![](/files/-MTRl851gGvQXMvSEG1f)TimezoneOffset

[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32): Returns the time difference between UTC time and local time, in minutes.

### ![](/files/-MTRl851gGvQXMvSEG1f)Type

[String](https://docs.microsoft.com/en-us/dotnet/api/system.string): Browser type. Can be one of "IE", "Edge", "Chrome", "Opera", "Firefox", "Safari", "Other".

### ![](/files/-MTRl851gGvQXMvSEG1f)UserData

[Object](https://docs.microsoft.com/en-us/dotnet/api/system.object): Returns a value or map set by the client when loading the application's first HTML page.

An application can use this property to retrieve a custom value on startup. For example, in Default.html add:

```csharp
<script>
Wisej.userData = {
value1: 100,
someName: "test"
};
</script>
```

On the server side, you can retrieve the user data use at any time like this:

```csharp

int value1 = Application.Browser.UserData.value1;
string value2 = Application.Browser.UserData.someName;

```

When used in conjunction with an aspx startup page (Default.aspx) it allows the application to retrieve data passed as a POST request and pass it to the Wisej application.

### ![](/files/-MTRl851gGvQXMvSEG1f)Version

[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32): Browser version.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wisej.com/api/v2.2/wisej.core/general/wisej.core.clientbrowser.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
