Class

# WebApplication

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

## Description

<span class="title-ref">WebApplication</span> is the base class for web apps. It stores information about the app such as its version number, the name of the built app, the ports it uses, etc. A Web app project has an object called **App** whose super class is <span class="title-ref">WebApplication</span>.

## Properties

<div class="rst-class">

table-centered_columns_3_and_4

</div>

| Name                                                          | Type                                                    | Read-Only | Shared |
|---------------------------------------------------------------|---------------------------------------------------------|-----------|--------|
| `AcceptingConnections<webapplication.acceptingconnections>`   | `Boolean</api/data_types/boolean>`                      |           |        |
| `AllowAutoQuit<webapplication.allowautoquit>`                 | `Boolean</api/data_types/boolean>`                      |           |        |
| `ApplicationIdentifier<webapplication.applicationidentifier>` | `String</api/data_types/string>`                        | ✓         |        |
| `AutoQuitTimeout<webapplication.autoquittimeout>`             | `Integer</api/data_types/integer>`                      | ✓         |        |
| `BaseURL<webapplication.baseurl>`                             | `String</api/data_types/string>`                        | ✓         |        |
| `BugVersion<webapplication.bugversion>`                       | `Integer</api/data_types/integer>`                      | ✓         |        |
| `Copyright<webapplication.copyright>`                         | `String</api/data_types/string>`                        | ✓         |        |
| `Description<webapplication.description_property>`            | `String</api/data_types/string>`                        | ✓         |        |
| `ExecutableFile<webapplication.executablefile>`               | `FolderItem</api/files/folderitem>`                     | ✓         |        |
| `HTMLHeader<webapplication.htmlheader>`                       | `String</api/data_types/string>`                        | ✓         |        |
| `LastSessionIndex<webapplication.lastsessionindex>`           | `Integer</api/data_types/integer>`                      | ✓         |        |
| `MajorVersion<webapplication.majorversion>`                   | `Integer</api/data_types/integer>`                      | ✓         |        |
| `MinorVersion<webapplication.minorversion>`                   | `Integer</api/data_types/integer>`                      | ✓         |        |
| `NonReleaseVersion<webapplication.nonreleaseversion>`         | `Integer</api/data_types/integer>`                      | ✓         |        |
| `Port<webapplication.port>`                                   | `Integer</api/data_types/integer>`                      | ✓         |        |
| `ProcessID<webapplication.processid>`                         | `Integer</api/data_types/integer>`                      | ✓         |        |
| `RegionCode<webapplication.regioncode>`                       | `Integer</api/data_types/integer>`                      | ✓         |        |
| `Security<webapplication.security>`                           | `WebAppSecurityOptions</api/web/webappsecurityoptions>` | ✓         |        |
| `SessionTimeout<webapplication.sessiontimeout>`               | `Integer</api/data_types/integer>`                      | ✓         |        |
| `SSLPort<webapplication.sslport>`                             | `Integer</api/data_types/integer>`                      | ✓         |        |
| `StageCode<webapplication.stagecode>`                         | `Integer</api/data_types/integer>`                      | ✓         |        |
| `URL<webapplication.url>`                                     | `String</api/data_types/string>`                        | ✓         |        |
| `Version<webapplication.version>`                             | `String</api/data_types/string>`                        | ✓         |        |

## Methods

<div class="rst-class">

table-centered_column_4

</div>

| Name                                                          | Parameters                                              | Returns                            | Shared |
|---------------------------------------------------------------|---------------------------------------------------------|------------------------------------|--------|
| `Daemonize<webapplication.daemonize>`                         |                                                         | `Boolean</api/data_types/boolean>` |        |
| `DefaultPage<webapplication.defaultpage>`                     | `WebPage</api/user_interface/web/webpage>`              |                                    |        |
| `DoEvents<webapplication.doevents>`                           | milliseconds As `Integer</api/data_types/integer>` = 10 |                                    |        |
| `Quit<webapplication.quit>`                                   |                                                         |                                    |        |
| `SessionAt<webapplication.sessionat>`                         | index As `Integer</api/data_types/integer>`             | `Session</api/web/session>`        |        |
| `SessionCount<webapplication.sessioncount>`                   |                                                         | `Integer</api/data_types/integer>` |        |
| `SessionForControl<webapplication.sessionforcontrol>`         | ctl As `WebControl</api/user_interface/web/webcontrol>` | `Session</api/web/session>`        |        |
| `SessionForControlID<webapplication.sessionforcontrolid>`     | controlID As `String</api/data_types/string>`           | `Session</api/web/session>`        |        |
| `Sessions<webapplication.sessions>`                           |                                                         | `Iterable</api/language/iterable>` |        |
| `SessionWithIdentifier<webapplication.sessionwithidentifier>` | identifier As `String</api/data_types/string>`          | `WebSession</api/web/websession>`  |        |
| `SleepCurrentThread<webapplication.sleepcurrentthread>`       | milliseconds as `Integer</api/data_types/integer>`      |                                    |        |
| `YieldToNextThread<webapplication.yieldtonextthread>`         |                                                         |                                    |        |

## Events

<div class="rst-class">

table-centered_column_4

</div>

| Name                                                    | Parameters                                                                                    | Returns                            |
|---------------------------------------------------------|-----------------------------------------------------------------------------------------------|------------------------------------|
| `Closed<webapplication.closed>`                         |                                                                                               |                                    |
| `HandleURL<webapplication.handleurl>`                   | Request As `WebRequest</api/web/webrequest>`, Response As `WebResponse</api/web/webresponse>` | `Boolean</api/data_types/boolean>` |
| `Opening<webapplication.opening>`                       | args() As `String</api/data_types/string>`                                                    |                                    |
| `Pausing<webapplication.pausing>`                       |                                                                                               |                                    |
| `Resumed<webapplication.resumed>`                       |                                                                                               |                                    |
| `Stopping<webapplication.stopping>`                     | shuttingDown As `Boolean</api/data_types/boolean>`                                            |                                    |
| `UnhandledException<webapplication.unhandledexception>` | error As `RuntimeException</api/exceptions/runtimeexception>`                                 | `Boolean</api/data_types/boolean>` |

## Property descriptions

<div id="webapplication.acceptingconnections">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.AcceptingConnections

**AcceptingConnections** As `Boolean</api/data_types/boolean>`

> Allows you to Start/Stop a web app's ability to accept connections. Setting this property to `False</api/language/false>` will stop the server(s) and disconnect all active sockets immediately.
>
> Stop allowing connections:
>
> ``` xojo
> App.AcceptingConnections = False
> ```

<div id="webapplication.allowautoquit">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.AllowAutoQuit

**AllowAutoQuit** As `Boolean</api/data_types/boolean>`

> If `True</api/language/true>`, the server will shutdown automatically when all sessions have ended, which is the default when running from the debugger. If `False</api/language/false>`, the server will not shutdown. This is the default for deployed web apps.
>
> In the App.Opening event handler, you can change this behavior:
>
> ``` xojo
> App.AllowAutoQuit = False
> ```

<div id="webapplication.applicationidentifier">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.ApplicationIdentifier

**ApplicationIdentifier** As `String</api/data_types/string>`

> A unique string to identify your <span class="title-ref">WebApplication</span>. Typically written in reverse domain name order: com.example.webappname.
>
> This property is read-only.
>
> <div class="note">
>
> <div class="title">
>
> Note
>
> </div>
>
> ApplicationIdentifier must be specified in order for your web app to work.
>
> </div>

<div id="webapplication.autoquittimeout">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.AutoQuitTimeout

**AutoQuitTimeout** As `Integer</api/data_types/integer>`

> The number of seconds after the last WebSession ends that the application will quit. The default value is 60.
>
> This property is read-only.
>
> The web app is only quit if `AllowAutoQuit<webapplication.allowautoquit>` is `True</api/language/true>`.
>
> Change the timeout to 30 seconds:
>
> ``` xojo
> App.Timeout = 30
> ```

<div id="webapplication.baseurl">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.BaseURL

**BaseURL** As `String</api/data_types/string>`

> The application will use the specified folder/directory as the entry point to serve its web pages and resources, allowing the web application to coexist with other applications under the same domain.
>
> BaseURL will be automatically configured based on the hostname, port, and other variables in the application's setup.
>
> This property is read-only.

<div id="webapplication.bugversion">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.BugVersion

**BugVersion** As `Integer</api/data_types/integer>`

The Bug version of the `ConsoleApplication</api/console/consoleapplication>`. This can only be set in the IDE, but you can read the value in your code.

> Typically version numbers are written as 1.2.3.4 (MajorVersion.MinorVersion.BugVersion.NonReleaseVersion).
>
> This property is read-only.
>
> Put all the individual versions together to create the full version:
>
> ``` xojo
> Var fullVersion As String
> fullVersion = MajorVersion.ToString + "." + MinorVersion.ToString + "." + BugVersion.ToString + "." + NonReleaseVersion.ToString
> ```

<div id="webapplication.copyright">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.Copyright

**Copyright** As `String</api/data_types/string>`

> Copyright information of the <span class="title-ref">WebApplication</span>.
>
> Copyright usually contains the application name, version number and copyright information.
>
> This property is read-only.
>
> Logs the app version:
>
> ``` xojo
> System.DebugLog("Copyright: " + App.Copyright)
> ```

<div id="webapplication.description_property">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.Description

**Description** As `String</api/data_types/string>`

> The description of the application, corresponding to the version information.
>
> This property can be set only in the IDE.
>
> This property is read-only.

<div id="webapplication.executablefile">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.ExecutableFile

**ExecutableFile** As `FolderItem</api/files/folderitem>`

> Points to the actual executable file even if it is inside a bundle.
>
> This property is read-only.
>
> To get the app executable name:
>
> ``` xojo
> Var appName As String = App.ExecutableFile.Name
> ```

<div id="webapplication.htmlheader">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.HTMLHeader

**HTMLHeader** As `String</api/data_types/string>`

> The HTML in the Header area. If you need to modify the HTMLHeader in code, please use the `WebSession.PreparingSession<websession.preparingsession>` event.
>
> This is a **design-time-only** property.
>
> This property is read-only.

<div id="webapplication.lastsessionindex">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.LastSessionIndex

**LastSessionIndex** As `Integer</api/data_types/integer>`

> The index of the last active session.
>
> This property is read-only.

<div id="webapplication.majorversion">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.MajorVersion

**MajorVersion** As `Integer</api/data_types/integer>`

> The major version of the `ConsoleApplication</api/console/consoleapplication>`, corresponding to the version information. The range is from 0 to 255. This can only be set in the IDE, but you can read the value in your code.
>
> Typically version numbers are written as 1.2.3.4 (MajorVersion.MinorVersion.BugVersion.NonReleaseVersion).
>
> This property is read-only.
>
> Put all the individual versions together to create the full version:
>
> ``` xojo
> Var fullVersion As String
> fullVersion = MajorVersion.ToString + "." + MinorVersion.ToString + "." + BugVersion.ToString + "." + NonReleaseVersion.ToString
> ```

<div id="webapplication.minorversion">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.MinorVersion

**MinorVersion** As `Integer</api/data_types/integer>`

> Minor version of the `ConsoleApplication</api/console/consoleapplication>`, corresponding to the version information. The range is from 0 to 255. This can only be set in the IDE, but you can read the value in your code.
>
> Typically version numbers are written as 1.2.3.4 (MajorVersion.MinorVersion.BugVersion.NonReleaseVersion).
>
> This property is read-only.
>
> Put all the individual versions together to create the full version:
>
> ``` xojo
> Var fullVersion As String
> fullVersion = MajorVersion.ToString + "." + MinorVersion.ToString + "." + BugVersion.ToString + "." + NonReleaseVersion.ToString
> ```

<div id="webapplication.nonreleaseversion">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.NonReleaseVersion

**NonReleaseVersion** As `Integer</api/data_types/integer>`

> The NonRelease version of the `ConsoleApplication</api/console/consoleapplication>`, corresponding to the version information. Sometimes referred to as the build number. This can only be set in the IDE, but you can read the value in your code.
>
> Typically version numbers are written as 1.2.3.4 (MajorVersion.MinorVersion.BugVersion.NonReleaseVersion).
>
> This property is read-only.
>
> If AutoIncrementVersionInformation is checked, the IDE increases NonReleaseVersion by one each time you build your project, but not when you run it.
>
> Put all the individual versions together to create the full version:
>
> ``` xojo
> Var fullVersion As String
> fullVersion = MajorVersion.ToString + "." + MinorVersion.ToString + "." + BugVersion.ToString + "." + NonReleaseVersion.ToString
> ```

<div id="webapplication.port">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.Port

**Port** As `Integer</api/data_types/integer>`

> The port number used to communicate with the standalone web app when it is built and deployed.
>
> This property is read-only.
>
> In addition to being set in the Build Settings for the web app, this value can also be set at launch time by appending the --port command line parameter.
>
> Usage: `MyApp --port=9000`
>
> On macOS and Linux, port numbers below 1024 (including the common port 80) require elevated permissions, so you will have to start the web app using the "sudo" command.

<div id="webapplication.processid">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.ProcessID

**ProcessID** As `Integer</api/data_types/integer>`

> Returns the system process ID for the app that you would see in something like Activity Monitor (macOS) or Task Manager (Windows).
>
> This property is read-only.

<div id="webapplication.regioncode">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.RegionCode

**RegionCode** As `Integer</api/data_types/integer>`

> The Region Code of the application, corresponding to the version information. Not supported on Windows. This property can be set only in the IDE.
>
> This property is read-only.

<div id="webapplication.security">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.Security

**Security** As `WebAppSecurityOptions</api/web/webappsecurityoptions>`

> Controls whether or not a web app can appear in an `<iframe>` tag on another html page or allows you to change the SSL connection type that is used.
>
> This property is read-only.
>
> This example, in the App.Opening event, allows a web app to appear in an `<iframe>` on any web page from any server:
>
> ``` xojo
> Self.Security.FrameEmbedding = WebAppSecurityOptions.FrameOptions.Allow
> ```
>
> This example, in the App.Opening event, uses an older connection type (not recommended):
>
> ``` xojo
> Self.Security.ConnectionType = WebAppSecurityOptions.ConnectionTypes.TLSv1
> ```

<div id="webapplication.sessiontimeout">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.SessionTimeout

**SessionTimeout** As `Integer</api/data_types/integer>`

> The number of seconds after a browser disconnects that the session will actually be removed from memory. The default is 180.
>
> This is the period of time that a Session stays around to avoid the overhead of starting up a new Session, should the user come "right back". Use this property to adjust this time up or down based on your system and user requirements. It should not be set too low. Since it defines the amount of time that passes since the last communication from the browser to when the Session is actually closed, setting it too low could disconnect active users.
>
> In most cases you should not need to change this property.
>
> This property is read-only.

<div id="webapplication.sslport">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.SSLPort

**SSLPort** As `Integer</api/data_types/integer>`

> The port number that will be used to communicate securely with the web app.
>
> This property is read-only.
>
> SSL options are only valid for stand-alone web apps. The Certificate must be located next to the app and its name must match the app name. For example, if the web app is called "MyApp" then the certificate must be called "MyApp.crt".
>
> If you are setting this in code, be sure to set it in the `Opening<webapplication.opening>` event handler.
>
> The SSLPort value can also be set at launch time by appending the --secureport command line parameter.
>
> Usage:
>
> ``` 
> MyApp --secureport=9000
> ```

<div id="webapplication.stagecode">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.StageCode

**StageCode** As `Integer</api/data_types/integer>`

> Stage Code of the application, corresponding to the version information.
>
> This property is read-only.
>
> Use the four Application class constants to set/get the Stage. Stage can be set only in the IDE.
>
> | Value | Description |
> |-------|-------------|
> | 0     | Development |
> | 1     | Alpha       |
> | 2     | Beta        |
> | 3     | Final       |

<div id="webapplication.url">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.URL

**URL** As `String</api/data_types/string>`

> The base URL of the running web application
>
> This property is read-only.
>
> ``` xojo
> Var baseURL As String
> baseURL = WebApplication.URL
> ```

<div id="webapplication.version">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.Version

**Version** As `String</api/data_types/string>`

> Version of the `ConsoleApplication</api/console/consoleapplication>`.
>
> This property can be set only in the IDE.
>
> Typically version numbers are written as 1.2.3.4.
>
> Version is displayed by the file information windows on macOS (Finder, Get Info) and Windows (Windows Explorer, Properties).
>
> This property is read-only.

## Method descriptions

<div id="webapplication.daemonize">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.Daemonize

**Daemonize** As `Boolean</api/data_types/boolean>`

> Converts the app from a regular console app to a daemon process that runs in the background on macOS or Linux.
>
> Since daemonized console apps cannot be run from the IDE, you should build and test as a non-daemonized console app and then daemonize it when you build. Use `System.Log<system.log>` to handle debugging.
>
> Although you can also use the Daemonize method on macOS, Apple would rather you use [launchd](https://developer.apple.com/library/mac/#documentation/darwin/reference/manpages/man5/launchd.plist.5.html) to start daemon processes.
>
> To create a background console application on Windows, you need to use `ServiceApplication</api/console/serviceapplication>`.
>
> A typical use of the Daemonize method is as follows:
>
> ``` xojo
> #If Not DebugBuild Then ' Do not try to daemonize a debug build
>   If (args(1) = "start" Or args(1) = "-d") Then ' Check for command-line parameter to daemonize
>     If Not App.Daemonize Then
>       System.Log(System.LogLevelCritical, "Could not daemonize the app.")
>       Return -1
>     End If
>   End If
> #Endif
> ```

<div id="webapplication.defaultpage">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.DefaultPage

**DefaultPage** As `WebPage</api/user_interface/web/webpage>`

> Returns the page set via the Default Web Page popup menu in the Inspector. This page is displayed each time a new session is created.

<div id="webapplication.doevents">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.DoEvents

**DoEvents**(milliseconds As `Integer</api/data_types/integer>` = 10)

> Yields time back to your app so that it can handle other events.
>
> ``` xojo
> ' In the Run event of your console application
> Var consoleTimer As New MyTimerSubclass
>
> consoleTimer.RunMode = Timer.RunModes.Multiple  ' Don't forget this one
> consoleTimer.Period = 1000  ' Call every second
>
> Do
>   App.DoEvents
> Loop
> ```

<div id="webapplication.quit">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.Quit

**Quit**(errorCode As `Integer</api/data_types/integer>` = 0)

> Quits the web app.
>
> Works the same as calling the global `Quit</api/language/quit>` method.

<div id="webapplication.sessionat">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.SessionAt

**SessionAt**(index As `Integer</api/data_types/integer>`) As `Session</api/web/session>`

> The `WebSession</api/web/websession>` referred to by the passed *index*.
>
> This code in a Button on a page will display a Message Box on the current page for all connected Sessions:
>
> ``` xojo
> For i As Integer = 0 To App.SessionCount - 1
>   Var sessionContext As New WebSessionContext(App.SessionAt(i))
>   MessageBox("The app will be shutting down in 5 minutes.")
> Next
> ```

<div id="webapplication.sessioncount">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.SessionCount

**SessionCount** As `Integer</api/data_types/integer>`

> Returns the number of active sessions.
>
> Each session corresponds to a user that is connected to the web app. Each session uses 2 or more sockets. Typically 4 sockets are used when setting up the initial session and then 2 sockets are used thereafter.
>
> By default a web app allows for a maximum of 200 sockets. This means a maximum of 50 to 100 users can be connected to a web app at one time, presuming the app is not doing significant processing and you have enough RAM on the server. If you want to enable additional concurrent users you can increase the maximum sockets using the command-line options described on the <span class="title-ref">WebApplication</span> page like this: `MyApp --MaxSockets=300`
>
> If you are using SSL, you'll need to set the maximum secure sockets with a command like this: `MyApp --MaxSecureSockets=300`
>
> This code in a Button on a page will display a Message Box on the current page for all connected Sessions:
>
> ``` xojo
> For i As Integer = 0 To App.SessionCount - 1
>   MessageBox("App shutdown.")
> Next
> ```

<div id="webapplication.sessionforcontrol">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.SessionForControl

**SessionForControl**(ctl As `WebControl</api/user_interface/web/webcontrol>`) As `Session</api/web/session>`

> The `WebSession</api/web/websession>` referred to by the passed `WebControl</api/user_interface/web/webcontrol>`.

<div id="webapplication.sessionforcontrolid">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.SessionForControlID

**SessionForControlID**(controlID As `String</api/data_types/string>`) As `Session</api/web/session>`

> The `WebSession</api/web/websession>` referred to by the passed *controlID*.

<div id="webapplication.sessions">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.Sessions

**Sessions** As `Iterable</api/language/iterable>`

> Allows you to iterate through all the active sessions.
>
> This example adds to a `WebListBox</api/user_interface/web/weblistbox>` the name of the current page for each active session:
>
> ``` xojo
> For Each activeSession As WebSession In App.Sessions
>   ListBox1.AddRow(activeSession.CurrentPage.Name)
> Next
> ```

<div id="webapplication.sessionwithidentifier">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.SessionWithIdentifier

**SessionWithIdentifier**(identifier As `String</api/data_types/string>`) As `WebSession</api/web/websession>`

> The `WebSession</api/web/websession>` referred to by the passed *identifier*. A session identifier can be obtained from `WebSession.Identifier<websession.identifier>`.
>
> Starting with 2015r4, Sessions are not disconnected when changing networks. This means that IP addresses are no longer associated with Sessions.

<div id="webapplication.sleepcurrentthread">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.SleepCurrentThread

**SleepCurrentThread**(milliseconds as `Integer</api/data_types/integer>`)

> Pauses the current thread for the specified number of *milliseconds*.

<div id="webapplication.yieldtonextthread">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.YieldToNextThread

**YieldToNextThread**

> Yields execution to the next thread in the application. This is useful for applications that require background tasks to maintain responsiveness by ensuring time is distributed among active threads.
>
> This method does not take any parameters and does not return a value. Here's an example:
>
> ``` xojo
> ' Perform a background calculation
> While backgroundTask.IsRunning
>   App.YieldToNextThread
> Wend
> ```

## Event descriptions

<div id="webapplication.closed">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.Closed

**Closed**

> The web app has closed.
>
> `Session</api/web/session>` is not available from this event handler.

<div id="webapplication.handleurl">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.HandleURL

**HandleURL**(Request As `WebRequest</api/web/webrequest>`, Response As `WebResponse</api/web/webresponse>`) As `Boolean</api/data_types/boolean>`

> This event fires when an http *Request* comes to your app which would otherwise result in a 404 Page Missing *Response*.
>
> Return a custom 404 page:
>
> ``` xojo
> ' Don't override an empty request, or a session won't start.
> If Not Request.Path.IsEmpty Then
>   ' First, create the HTML answer
>   Response.Write "<body>"
>   Response.Write "Oops! You took a wrong turn. "
>   Response.Write "Please put it in reverse and try again."
>   Response.Write "</body>"
>
>   ' Set the status code. The default value is 404, 
>   ' but if you leave it that way, some browsers
>   ' will show their own. A value of 200 will make 
>   ' the browser show your text instead.
>   Response.Status = 200
>
>   ' You MUST return True if you want to override the output.
>   Return True
> End If
> ```

<div id="webapplication.opening">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.Opening

**Opening**(args() As `String</api/data_types/string>`)

> The web app has launched and is starting. The command-line parameters used to start the web app are in *args*.
>
> `Session</api/web/session>` is not available from this event handler.
>
> You can add or modify the provided arguments by changing the contents of the *args* parameter.
>
> For example, to increase the number of sockets:
>
> ``` xojo
> args.Add("MaxSockets=300")
> ```

<div id="webapplication.pausing">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.Pausing

**Pausing**

> Occurs when the user selects Pause from the Service Control Manager on Windows.
>
> When the user selects Pause, they expects the service to stop performing whatever action it was doing. It should continue to halt execution until the `Resumed<webapplication.resumed>` event is fired.

<div id="webapplication.resumed">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.Resumed

**Resumed**

> Occurs when the user selects Continue from the Service Control Manager on Windows, assuming that a Pausing event has already occurred.
>
> The Resumed event is not called unless the <span class="title-ref">WebApplication</span> is paused. Use this event to continue running your <span class="title-ref">WebApplication</span>.

<div id="webapplication.stopping">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.Stopping

**Stopping**(shuttingDown As `Boolean</api/data_types/boolean>`)

> Occurs in two situations: When the user selects Stop from the Service Control Manager on Windows or when the computer is shutting down.
>
> If the user selected Stop, *shuttingDown* is `False</api/language/false>`.
>
> If the computer is shutting down, *shuttingDown* is `True</api/language/true>`. This event occurs when you call the `Quit</api/language/quit>` method on any platform or when the service terminates. The *shuttingDown* parameter is supported only on Windows.

<div id="webapplication.unhandledexception">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

WebApplication.UnhandledException

**UnhandledException**(error As `RuntimeException</api/exceptions/runtimeexception>`) As `Boolean</api/data_types/boolean>`

> If a `RuntimeException</api/exceptions/runtimeexception>` is not caught anywhere else (using `Exception</api/exceptions/exception>` or `Try</api/language/try>`), this event is called so you may handle the exception. Return `True</api/language/true>` to suppress the quit behavior. Return `False</api/language/false>` to use the default quit behavior.
>
> If a `RuntimeException</api/exceptions/runtimeexception>` is not caught anywhere else, this event is called so you may handle the exception. See the example.
>
> This code in the UnhandledException event of the App class catches any unhanded exceptions and displays the name of the exception along with the error stack:
>
> ``` xojo
> If error <> Nil Then
>   Var type As String = Introspection.GetType(error).Name
>   MessageBox(type + EndOfLine + EndOfLine + String.FromArray(error.Stack, EndOfLine))
> End If
> ```

## Notes

App quit defaults:

- Apps do not quit unless the Quit method is called (`AllowAutoQuit<webapplication.allowautoquit>` can be used to change this default).

`Session</api/web/session>` is not available from <span class="title-ref">WebApplication</span> event handlers.

<div class="note">

<div class="title">

Note

</div>

ApplicationIdentifier must be specified in order for your web application to work.

</div>

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

### Command-line parameters

When starting a stand-alone web application, you can supply these parameters on the command line:

| Command                       | Description                                                                                                                                                                                                                                                                                                                                                                |
|-------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| --BaseURL                     | The application will use the specified folder/directory as the entry point to serve its web pages and resources, allowing the web application to coexist with other applications under the same domain.                                                                                                                                                                    |
| --Certificate                 | The path to the SSL certificate.                                                                                                                                                                                                                                                                                                                                           |
| --Logging                     | The path to where the HTTP Log file is or will be created.                                                                                                                                                                                                                                                                                                                 |
| --MaxSecureSockets            | The maximum number of allowed secure connected sockets. This is not the number of maximum users as the number of connections does not map one-to-one with the number of connected users. Do not set the value too high as it will increase memory and CPU usage. The default is 200.                                                                                       |
| --MaxSockets                  | The maximum number of allowed connected sockets for unsecured connections. This is not the number of maximum users as the number of connections does not map one-to-one with the number of connected users. Do not set the value too high as it will increase memory and CPU usage. The default is 200. If you do not want any unsecured connections, set this value to 0. |
| --MinSockets                  | The minimum number of allowed connected sockets. The default is 20.                                                                                                                                                                                                                                                                                                        |
| --NetworkInterfaceIndex       | The index value (of NetworkInterfaces) to use as the NIC for connections. You can also use the value *Loopback* to allow listening only on the loopback interface. The default is to listen on all interfaces.                                                                                                                                                             |
| --Port                        | The standard (not secure) port the web app listens to for a connection. This can be used to change the port that was used to build the web app.                                                                                                                                                                                                                            |
| --SecureNetworkInterfaceIndex | The index value (of NetworkInterfaces) to use as the NIC for secure connections. You can also use the value *Loopback* to allow listening only on the loopback interface.                                                                                                                                                                                                  |
| --SecurePort                  | The port the web app listens to for a secure connection. You must specify this port via the command-line in order for the web app to allow secure connections.                                                                                                                                                                                                             |
| --SslType                     | Allows you to specify the type of security used. You can use these integer values: 3 (TLSv1), 4 (TLSv11), 5 (TLSv12, the default)                                                                                                                                                                                                                                          |
| --UploadPath                  | Changes the default path used to save files that are uploaded or other large requests. (New in 2020r1)                                                                                                                                                                                                                                                                     |
| --UrlLength                   | Allows you to change the maximum number of characters allowed in a URL from 256 (the default) to a maximum of 2048.                                                                                                                                                                                                                                                        |

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

### Using ssl with standalone web apps

Refer to the `SSL for Web Apps</topics/web/ssl_for_web_apps>` topic for more details on how to set up a web app with SSL.

## Compatibility

|                       |     |
|-----------------------|-----|
| **Project Types**     | Web |
| **Operating Systems** | All |

<div class="seealso">

`ServiceApplication</api/console/serviceapplication>` parent class; `WebSession</api/web/websession>`, `Session</api/web/session>`, `WebPage</api/user_interface/web/webpage>` classes; `App</api/language/app>` function; `Web Application Structure</topics/application_structure/web/introduction>`, `SSL for Web Apps</topics/web/ssl_for_web_apps>` topics

</div>
