Application Specific Setting <appSettings>

The first tag is the ConfigName parameter. This parameter is used when two or more CE Web Form Renderer controls are used on a web page. The specified value of the key attribute must match the value of the ConfigName property of the CE Web Form Renderer control. This parameter identified the name of a configuration and specifies the prefix of the parameters for this configuration. For example, when key='System1' value='Sys1' then all parameters must be prefixed by 'Sys1.'. For example, key='Sys1.ApplicationName' value='Sample'.

The tag is:

<add key="DefaultSystem" Value=""/>

LINCEnvironment tag is set to determine by which method you are connected to the host runtime system.

The tag is:

<add key="LINCEnvironmentProgId" Value=""/>

The possible values are shown in the table below.

value=“”

If you want to connect using the Component Enabler Runtime for .NET Framework. This is the default setting.

value=“LINCEnvironment.Bean.1”

If you want to connect using the Component Enabler Java Runtime.

The following tag is set to define the protocol version and the corresponding value of a TLS Protocol:

<add key="SslProtocolVersion"    value="ProtocolValue"/>

The default version of the TLS Protocol is TLS1.2 and its corresponding value is 3072.

For example:

<add key="SslProtocolVersion"     value="3072"/>

The following table list the various other protocol versions and its corresponding values:

Protocol Version

Value

Default

240

None

0

Ssl2

12

Ssl3

48

TLS

192

TLS1.1

768

Refer to https://docs.microsoft.com/en-us/dotnet/api/system.security.authentication.sslprotocols?view=netframework-4.7.2 for more information.

Note: The value must match the protocol version of the Server.

The following tags have their values completed when you run the SetupASPNet.vbs script using the entries which you provided, as the examples below show:

<add key="ApplicationName" 
Value="Sample"/>
<add key="BundleName"
Value="ASPNet"/>
<add key="PagePrefix"
Value="com.MyCompany"/>
<add key="IspecModelRootDirectory"
Value="<CEROOT >"/>

The remainder of the “connection” tags must have their values edited manually by opening the Web.Config file in a text editor.

The HostURI parameter specifies the connection details according to the required connection type. The default value contains details for connecting to Developer Test on the same machine.

<add key="HostURI"
Value="x-ratl:localhost:4323"

For TCP/IP connections, the format is as follows:

"x-<Protocol>:<HostName or IP Address>:<Port Number>"

For MSMQ connections, the format is as follows:

"x-msmq:<Format>:<HostName or IP Address of MSMQ server>:<Queue Name>"

Notes:

  • For MSMQ Connections, refer to the MSMQ documentation for all possible types for the “Format” tag. DIRECT queues are recommended as they avoid the overhead of a queue name lookup from directory services and MSMQ store and forward operations as messages are sent DIRECTLY to the machine hosting the queue.

    Valid direct formats are:

    DIRECT=OS - uses native machine naming convention

    DIRECT=SPX - connection-orientated SPX over IPX

    DIRECT=TCP - connection-orientated TCP over IP

  • For MSMQ Connections, refer to the MSMQ documentation for all possible types for the “Queue Name” The queue name can be a public or private queue on the MSMQ server. Using private queues is recommended, as they have less overhead in processing, and should be faster.

The connection mode attribute is used to inform the host application what type of client is connecting to it. The default value is 0.

<add key="ConnectionMode"
value="0"

The values can be:

0 - PCE (GLB.Style = NOFORM) (GLB.GUI = Y)

1 - NOF (GLB.Style = NOFORM) (GLB.GUI = N)

2 - Component Enabler (GLB.Style = ACTIVELINC) (GLB.GUI = N)

The IspecModelRootDirectory parameter specifies the root location of the IspecModel dll files, that are compiled from the generated IspecModel C# source files. This is used when connecting via the CE Runtime for .NET based environment.

<addkey="IspecModelRootDirectory"
value="CERoot"
<add key="HostViewName"
value="SAMPLE"
<add key="DisplayName"
value="SAMPLE"
<add key="HostLogin"
value="ALPublic"
<add key="HostPassword"
value="ALPublic"
<add key="HostDomain"
value="."
<add key="LoggingEnabled"
value="false"

The alternate value is “true”

<add key="LogFile"
value="C:\Temp\ASPNet.log"
<add key="LogLevel"
value="7"

To mask sensitive data in the log file at runtime, the DataMaskingEnabled parameter should be true. This only masks those fields for which data masking has been enabled and defined in the model.

<add key="DataMaskingEnabled"
value="true" />

The final tags in the appSettings section are concerned with object pooling, application switching, error dialogs, and default image type. They are listed below with their initial default values identified.

Tag to enable Object Pooling of the LINCEnvironment. This should only be enabled for host systems that do not require state to be maintained.

<add key="ObjectPoolingEnabled"
value="false"

Alternate value is “true”

ObjectPoolingAssembly specifies the fully qualified assembly name containing the pool of objects. This does not need to be specified except in special circumstances. When not specified, the default value is: “CEWindowsAPIPool, Version=1.0.1.0, Culture=neutral, PublicKeyToken=e786d48c08ed6963”

<add key="ObjectPoolingAssembly"
value="" />

ObjectPoolingType specifies the full name of the type within the assembly containing the pool of objects. This is specified when a pool of LINCEnvironment objects specific to this Web Service Application is required. The full type name is specified as “Namespace.ClassName”. Refer to the CEWindowsAPIPool sub-directory located in [CERoot]\Sample for more information on how to set up an application specific pool. When not specified, the default value is: “CEWindowsAPIPool.LINCEnvironmentPooled”

<add key="ObjectPoolingType"
value="" />

For Object Pooling, the Fireup ispec of the application should be specified. This is used by subsequent pooled sessions after the initial session has been established.

<add key="FireUpIspecForPooling"
value="MENU" />

Tag to Enable Message Queuing for the ASP.NET Web Forms

<add key="EnableMessageQueuing"
value="false"

Alternate value is “true”

Tag to determine whether the Web Application has been set up to switch between two or more Component Enabler Applications.

<add key="ApplicationSwitching"
value="false"

Alternate value is “true”

Tag to determines whether an error dialog is displayed automatically when an error is encountered while processing User data from an Ispec. If this option is set to false, the error appears on the status line.

<add key="AutoPopupErrorWindow"
value="false"

Alternate value is “true”

Tag to set the image type to be used when an extension has not been specified in the name of an image control

<add key="DefaultImageType"
value=".jpg"

Tag to set the PreserveWhiteSpace specifies whether spaces found in Inquiry fields and List Items should be preserved or compressed.

<add key="PreserveWhiteSpace"
value="true" />

AppDirRelativePath Specifies the relative path to the directory which holds the files and language subdirectories for a specific application. This is where the CE Web Form Renderer control locates the Web User Controls for the application. The path is relative from the location of the page hosting the CE Web Form Renderer. This parameter is only required when using two or more CE Web Form Renderer controls on a page to different systems. The different systems must be located in separate subdirectories under the directory of the hosting page.

<add key="AppDirRelativePath"
value="" />

Tag to set the UseLoginForm is used to request the user to login via the Login Control. When enabling this, the Login.ascx form must be customized to local requirements.

Note: The user name and password used in Login Control are stored in plain text format in the browser. Hence, it is advised to use this feature only in an intranet application. This approach is prone to security issues if used in internet based applications. It is strongly suggested to set the UseLoginForm to False and use login details in the default web.config for an internet based applications. Login Control feature is not recommended for pooled connections.

<add key="UseLoginForm"
value="false" />

For the generated ASP.NET Web Forms to function correctly, an entry is required in the <assemblies> sub-section of the <compilation> section of the Web.Config file. The following reference to the CEWindowsAPI assembly is added to the <assemblies> section to ensure that the .aspx pages themselves can access the CEWindowsAPI registered in the GAC. Some pages contain inline logic that does not work without this reference.

<add assembly="CEWindowsAPI, Version=1.0.1.0, Culture=neutral,PublicKeyToken=f0eff5c503425ad7" />

Tag to specify the order that host error messages are displayed

<add key="ReverseMsgSequence"
value="false" />

Tag to specify whether the ASP.NET Client session is recorded using the Automated Test Tool (ATT).

<add key="ATTRecord"
value="false" />

The following tag specify the ATT Recording mode. When "connect" is specified, the ASP.NET Session establishes a conversation with the ATT module, which records the transaction data dynamically. A test step is created in the ATT user interface for each transaction executed from the Browser. When "disconnect" is specified, the transaction data is captured directly into a specified file. In this case, the ATT user interface does not need to be running.

<add key="ATTRecordMode"
value="connect" />

Tag to specify the IP address of the ATT recording module, which listens on a port for client connections.

<add key="ATTRecordServer"
value="127.0.0.1" />

Tag to specify the port number to use when recording test case data for the Automated Test Tool.

<add key="ATTRecordPort"
value="8888" />

Tag to specify the file name of the Test Case file, when the ATTRecordMode tag is set to "disconnect". The file created in this mode can later be loaded into the ATT application for editing and playback.

<add key="ATTRecordXMLFilePath"
value="c:\temp\TestCase.xml" />

The following tag specifies the location of the Automated Test Tool software installation. This tag is normally prefilled by the SetupASPNet.vbs script.

<add key="ATTInstallDir"
value="C:\ProgramFiles\Unisys\
Automated Test Tool" />

The following tag specifies the translation (language) used to define an alternate set of forms for display on Mobile Devices. If a mobile device connects to the ASP.NET application and a language is specified in this tag, then the application automatically changes languages to the specified language. The forms defined in that language are displayed in the Browser. The tag is empty by default.

<add key="MobileLanguage" value="" />

Refer to the following example of the <appSettings> section of a Web.Config file for ASP.NET Web Forms.

Note: This example of the <appSettings> does not included the entry in the <assemblies> section which is described above.

<appSettings>
<!-- ConfigName parameter.
      This parameter is used when two or more CE Web Renderer controls are used
      on a web page. The specified value of the key attribute must match the
      value of the ConfigName property of the CE Web Form Renderer control.
      This parameter identified the name of a configuration and specifies the
      prefix of the parameters for this configuration.
      For example when key=’System1’ value=’Sys1’ then all parameters must be
      prefixed by ’Sys1.’.
      E.g. key=’Sys1.ApplicationName’ value=’Sample’ -->
<add key="DefaultSystem" value="" />
<!-- The LINCEnvironmentProgId parameter specifies the CE Runtime system to use.
      The possible values are:
      - blank or parameter not specified (default), use CE .NET Runtime.
      When using this option, IspecModel dll files for .NET are required.
- "LINCEnvironment.Bean.1", use CE Java Runtime with the Oracle JVM.
      When using this option, IspecModel class files for Java are required. -->
<add key="LINCEnvironmentProgId" value="" />

<!-- Enter the Component Enabler Application Details -->
<add key="ApplicationName" value="[ApplicationName]" />
<add key="BundleName" value="[BundleName]" />
<add key="DisplayName" value="[ApplicationName]" />
<add key="PackagePrefix" value="[PackagePrefix]" />

<!-- The HostURI parameter specifies the connection details according to the
      required connection type.
      For TCP/IP connections, the format is:
            "x-ratl:[HostName or IP Address]:[Port Number]"
      For MSMQ connections, the format is:
            "x-msmq:[Format]:[HostName or IP Address of MSMQ server]:[Queue Name]
      
      Notes for MSMQ Connections:
            Format: Refer to the MSMQ documentation for all possible types.
                  ’DIRECT’ queues are recommended as they avoid the overhead of a queue
                  name lookup from directory services and MSMQ store and forward
      operations as messages are sent DIRECTLY to the machine hosting the queue.
                  Valid direct formats are:
                        DIRECT=OS - uses native machine naming convention
                        DIRECT=SPX - connection-orientated SPX over IPX
                        DIRECT=TCP - connection-orientated TCP over IP

            Queue Name: The queue name can be a public or private queue on the MSMQ
            server.
                  Using private queues is recommened, as they have less overhead in
                  processing, and should be faster.
                  Refer to the MSMQ documentation for all possible queue names.
            Example of MSMQ HostUri value:
                  value="x-msmq:DIRECT=OS:[MSMQ Server]:PRIVATE$\[request queue name]" -
->
      <!-- add key="HostURI" value="x-msmq:DIRECT=OS:<MSMQ Server>:PRIVATE$\<request
queue name> -->
      <add key="HostURI"                  value="x-ratl:localhost:4323" />

<!-- Enter the Host View Name to be used by the Remote Access Server. -->
      <add key="HostViewName"             value="SAMPLE" />

<!-- The connection mode attribute is used to inform the host application what
      type of client is connecting to it. The values can be:
            0 - PCE (GLB.Style = NOFORM) (GLB.GUI = Y)
            1 - NOF (GLB.Style = NOFORM) (GLB.GUI = N)
            2 - Component Enabler (GLB.Style = ACTIVELINC) (GLB.GUI = N) -->
<add key="ConnectionMode"                 value="0" />

<!-- The IspecModelRootDirectory parameter specifies the root location of the
IspecModel dll’s. This is used when connecting via the CE .NET based runtime system.
-->
      <add key="IspecModelRootDirectory"  value="[IspecModelRootDirectory]" />

      <!-- Login details. -->
      <add key="HostLogin"                value="ALPublic" />
      <add key="HostPassword"             value="ALPublic" />
      <add key="HostDomain"               value="." />
      
      <!-- Component Enabler Logging. -->
      <add key="LoggingEnabled"           value="false" />
      <add key="LogFile"                  value="C:\Temp\ASPNet.log" />
      <add key="LogLevel"                 value="7" />

      <!-- Component Enabler Data Masking - CR1765. -->
      <add key="DataMaskingEnabled"       value="true" />

      <!-- Enable Object Pooling of the LINCEnvironment.
            Object pooling requires Ispecs to be stateless.
            The object pool such as min/max pool size is further configured via
            Component Services. -->
      <add key="ObjectPoolingEnabled"     value="false" />

      <!-- ObjectPoolingAssembly specifies the fully qualified assembly name containing
            the pool of objects. This does not need to be specified except in special
            circumstances.
            When not specifed, the default value is:
            "CEWindowsAPIPool, Version=1.0.1.0, Culture=neutral,
PublicKeyToken=e786d48c08ed6963" -->
      <add key="ObjectPoolingAssembly"    value="" />

      <!-- ObjectPoolingType specifies the full name of the type within the assembly
            containing the pool of objects. This is specified when a pool of
LINCEnvironment
            objects specific to this Web Service Aplication is required. The full type
            name is specified as "Namespace.ClassName". For further information on how to
            set up an application specific pool, see the CEWindowsAPIPool sub-directory
            located in [CERoot]\Sample.
            When not specifed, the default value is:
"CEWindowsAPIPool.LINCEnvironmentPooled" -->
      <add key="ObjectPoolingType"        value="" />

      <!-- Specify the Fireup ispec of the application.
            This is used by subsequent pooled sessions after the initial session has
            already been established. -->
      <add key="FireUpIspecForPooling"    value="MENU" />

      <!-- Enable Message Queuing for the ASP.NET Web Forms. -->
      <add key="EnableMessageQueuing"     value="false" />
      
      <!-- Setup for Application Switching. -->
      <add key="ApplicationSwitching"     value="false" />

      <!-- Determines whether the error dialog pops up automatically when an error
            is encountered. -->
      <add key="AutoPopupErrorWindow"     value="true" />

      <!-- Sets the default image type for the application. -->
      <add key="DefaultImageType"         value=".jpg" />

      <!-- Indicates whether spaces found in Inquiry fields and List Items should be
      preserved or compressed. -->
      <add key="PreserveWhiteSpace"       value="true" />

      <!-- Specifies the relative path to the directory holding the files and language
      directories specific to an application where the user controls which are
      displayed by the CE Web Form Renderer are located.
      The path is relative from the location of the page hosting the CE Web Form
      Renderer. This parameter is only required when using two or more CE Web Form
      Renderer controls on a page to different systems. The different systems must
      be located in subdirectories under the directory of the hosting page. -->
      <add key="AppDirRelativePath"       value="" />

      <!-- Request the user to login via the Login Control.
            When enabling this, the Login.ascx form must be customized to local
            requirements. -->
      <add key="UseLoginForm"       value="false" />
</appSettings>
<!-- Specifies the display sequence of error messages returned from the host. -->
<add key="ReverseMsgSequence"       value="false"/>

<add key="ATTRecord"                value="true"/>
<add key="ATTRecordMode"            value="connect"/>
<add key="ATTRecordServer"          value="127.0.0.1"/>
<add key="ATTRecordPort"            value="8888"/>
<add key="ATTRecordXMLFilePath"     value="c:\temp\testcase.xml"/>
<add key="ATTInstallDir"            value="C:\Program Files\Unisys\Automated Test Tool" />
<add key="MobileLanguage"           value=""/>	

Once the configuration options have been set with the required values, the application can be tested by opening a Browser and requesting the Default.aspx page in the Web Application Virtual directory.