Configuration

Wisej.Core.Configuration

Namespace: Wisej.Core

Assembly: Wisej.Framework (3.0.0.0)

Wisej configuration settings.

public class Configuration

Constructors

Configuration(json)

Creates a new instance from the specified json string.

Name
Type
Description

json

The json string that defines the configuration values.

Properties

AllowedRoutes

String[]: List of allowed Url routes separated by a semicolon. i.e.: "api;product;log/performance".

AutoReload

Boolean: When true, the application is automatically reloaded when the session expires or Exit is called.

The application can always override this feature by changing the Wisej.onExit method using a script.

  <script>
    Wisej.onExit = function() {
      // this is the default implementation
      // when AutoReload is set to true.
      location.reload();
    }
  </script>

BrowserCheck

String: The custom function used to validate the browser. If it returns false the browser is not supported and Wisej redirects to NotSupportedUrl.

Culture

String: Returns the culture set at the application's level. It can be any of the supported cultures or the keyword "auto", in which case we will detect the culture from the browser.

Debug

Boolean: Enabled/disables debug mode.

DisableClientObjectModel

Boolean: When true, the client will not be able to access the application's controls using the object model registered with javascript under the "App" namespace.

DropDuplicateClicks

Boolean: When true, the client drops all "execute" events triggered while there is a pending request.

EmbeddedResourcesCacheControl

String: Cache-Control for embedded resources. The default is "browser" to cache the embedded resources on the browser for 1 month. Other allowed vaues are: - "server" to cache the resources on the server using the ETag header - "private, max-age=..." to use set the standard Cache-Control header - any value Cache-Control string value.

EnablePWA

Boolean: Enables the PWA installation of the application.

EnableWebSocket

Boolean: Enabled/disables the WebSocket protocol.

EnableWebSocketCompression

Boolean: Enabled/disables gzip compression when using the WebSocket protocol.

FilePath

String: The full path of the configuration file.

Impersonate

Boolean: Enables impersonation mode.

When set to true and windows authentication is configured in web.config, every request thread and application tasks started using Application.StartTask will impersonate the current user.

KeepAliveInterval

Int32: The keep-alive interval in seconds.

LoaderTimeout

Int32: The ajax loader timeout in milliseconds.

MainWindow

String: Full name of the first window created automatically at startup.

MaxModalStack

Int32: Returns the maximum number of nested modal loops.

MaxSessions

Int32: Returns the maximum number of active sessions before redirecting to NotAvailableUrl.

NetworkCheckInterval

Int32: Network check interval in milliseconds. The default is 1000 (1 second). If this value is set, Wisej will send a /healthcheck.wx request at the specified interval when the application goes offline.

NotAvailableUrl

String: The URL of the page to load when the server cannot respond to the request.

NotSupportedUrl

String: The URL of the page to load when the client browser is not supported.

OfflineUrl

String: The URL of the page to load when the connection is lost.

Options

Object: Native client-side platform options.

PollingInterval

Int32: Polling interval in milliseconds. The default is zero (disabled). If this value is set, the polling starts when the application is loaded.

The polling interval determines the frequency of the automatic poll requests coming from the client when a WebSocket connection is not available. When the client is connected using a WebSocket channel, this value is ignored. An application that wants to enable automatic client updates in absence of a WebSocket connection can set this value, or it can call StartPolling and EndPolling to start and terminate the automatic polling from the client. Both methods are ignored when the client is using a WebSocket connection.

ResponseTimeout

Int32: The timeout for the server to respond to a wisej request in seconds.

RightToLeft

String: Returns the rightToLeft mode. It can be "true", "false", or "auto". When set to "auto" the RightToLeft layout is enabled automatically using the current language. The default is "auto".

Secure

Boolean: Forces the client to switch to a secure connection (HTTPS and WSS).

SessionStorage

String: Where to save the session id on the client. The default is "session" to indicate the browser's sessionStorage. It can be changed to "local" to indicate the browser's localStorage.

SessionTimeout

Int32: The session timeout in seconds. The timeout is enforced on the client side.

Settings

Object: Application settings.

ShowLoader

Boolean: Shows the loader animated gif while initializing the application.

Standalone

Boolean: Returns whether this Wisej application is running in a standalone host (Wisej.Application.exe).

StartUp

String: The startup Main method.

ThemeName

String: Theme name.

ThreadPool

Object: ThreadPool min/max configuration, null by default.

Url

String: Url redirection.

ValidateClient

Boolean: Verifies the client fingerprint when retrieving a session. It prevents session hijacking over unsecured connections.

Methods

GetInstance(filePath)

Loads or retrieves the configuration file.

Parameter
Type
Description

filePath

The full path to the .json file to load.

Returns: Configuration.

Events

LoadConfiguration

LoadConfigurationEventHandler Fired when the system needs to load a Wisej configuration file.

An application can install a custom configuration handler and return a custom Configuration object. This is a static event and should be attached to before the application starts. One way to do that is to register an HttpModul with IIS, or a middleware for .NET Core, and attach to the event there.

[assembly: PreApplicationStartMethod(typeof(ApplicationNameSpace.HttpModuleStartup), "Start")]

namespace ApplicationNameSpace
{
  public static class HttpModuleStartup
  {
    public static void Start()
    {
      Wisej.Core.Configuration.LoadConfiguration += (s, e) =>
      {
        // load json from a file, or build a json object.
        // you can also implement your own caching mechanism here.
        
        e.SuppressCache = true;
        
        return new Wisej.Core.Configuration(new
        {
          url = "Default.html",
          theme = "bootstrap-4",
          startup = "ApplicationNameSpace.Program.Main, Application"
          
        }.ToJSON());
      }
    }
  }
}

Last updated

Was this helpful?