Startup

Wisej.NET applications typically have a single application in the broad sense. For clarity:

  • "Sub-application" refers to an application in the strict sense

  • Each Wisej.NET project requires at least one default sub-application

Startup Files

A new Wisej.NET project creates three startup files:

  • Default.html

  • Default.json

  • Program.cs

Default.html maintains ASP.NET convention for startup pages.

Program.cs contains the static (Shared in VB) Main method.

The .html and .json filenames should match for simplicity but this isn't required.

circle-info

You can:

  • Rename Default.html and Default.json

  • Use .aspx files for pre-load .NET code execution (see Wisej.UserData)

Sub-Applications

Creating

Create sub-applications in the project's root or any project folder:

  1. Right-click project/folder → Add → New Item

  2. Select Wisej on left side

  3. Click Application in list

  4. Set application Name

  5. Click Add

Example with name "Admin" creates:

  • Admin.html

  • Admin.json

  • Admin.cs

The Admin.cs file mirrors Program.cs:

Running

Wisej.NET sub-applications start with the .json file, not the .html file. Even when accessing a URL with .html, Wisej.NET looks for the corresponding .json file (rules explained below).

For the "Admin" example, Admin.json contains:

This file provides two key pieces of information:

  • url - Which .html file to display in browser

  • startup - Which server-side method to execute

When accessing http://myApp.com/Admin, Wisej.NET:

  1. Locates Admin.json

  2. Reads the url key and loads Admin.html

  3. Invokes the startup method specified in Admin.json

circle-info
  • Browsers require an HTML-like file

  • Wisej.NET requires browser to load/execute wisej.wx

  • Instead of startup method, you can specify sub-application's main view (details below)

Entry Point

Wisej.NET needs the server-side startup method - in this case [ProjectName].Project.Main in assembly [ProjectName].

To instantiate an AdminPage instead of executing Main, modify Default.json:

Startup Workflow

The Wisej.NET startup process follows these steps:

  1. Locate .json file

  2. Direct browser to load/display the url HTML file

  3. Execute server-side action based on .json file:

    • Run the startup method, or

    • Instantiate the mainWindow view

circle-info

Specifying both startup and mainWindow properties causes Wisej.NET to execute both.

Rules for Finding the .json File

  1. Replace Extension with .json

    • For URLs ending with an extension (e.g., http://myserver.com/Startup.php)

    • Wisej.NET looks for matching .json file (\Startup.json)

    • If .json not found and Wisej.NET loaded, wisej.wx reloads current page

  2. Append Default.json to Folder Path

    • For folder URLs:

      • Root folder (http://myserver.com) → \Default.json

      • Folder path (http://myserver.com/Suppliers/) → \Suppliers\Default.json

  3. Handle URLs Without Extensions

    • For URLs like http://myserver.com/Customers, Wisej.NET:

      1. Tries \Customers.json

      2. If not found, treats "Customers" as folder and tries \Customers\Default.json

Default Document Configuration

The Web.config file in Wisej.NET project templates includes:

This defaultDocument setting isn't required because:

  • Website root URLs are treated as folder paths

  • Wisej.NET automatically looks for \Default.json in the project root

  • Rule 2 above handles folder path resolution

Last updated

Was this helpful?