Web Connection web.config Settings

If running the Web Connection .NET Managed Module the configuration settings are stored in the web.config file in three sections:

  • webConnectionConfiguration
    The main operational configuration section for Web Connection's runtime behavior. This is roughly similar to the wc.ini behavior. Values include processing mode, temp paths for file based processing, COM server Id, startup modes,

  • webConnectionVisualStudio
    Configuration settings used for the Web Connection plug-in in Visual Studio. Specifies locations of the development folder, the Web folder, and locations for a text editor to edit FoxPro code and the browser to use to preview Web pages.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <configSections>
    <section name="webConnectionConfiguration" type="System.Configuration.NameValueSectionHandler,System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    <section name="webConnectionVisualStudio" type="System.Configuration.NameValueSectionHandler,System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </configSections>

 <webConnectionConfiguration>
    <!-- NOTE: These settings apply only to the Web Connection Managed Module! -->
    <add key="MessagingMechanism" value="File" />
    
    <add key="TempPath" value="~\..\deploy\temp\" />
    <add key="TempFilePrefix" value="<%= pcTemplate %>" />
    <add key="Timeout" value="90" />
    
    <add key="ComServerProgId" value="<%= pcVirtual %>.<%= pcVirtual %>Server" />    
    <add key="ServerCount" value="2" />
    <add key="ComServerLoadingMode" value="LoadBased" />
    <add key="UseStaComServers" value="False" />

    <add key="AutoStartServers" value="False" />

    <add key="ExeFile" value="~\..\deploy\<%= pcAppName %>.exe" />
    <add key="UpdateFile" value="~\..\deploy\<%= pcAppName %>_Update.exe" />
    
    <add key="AdminAccount" value="ANY" />
    <add key="AdminPage" value="~/admin/admin.aspx" />
    
    <add key="LogDetail" value="False" />
    <add key="ValidateRequest" value="False" />    
    <add key="MessageDisplayFooter" value="Generated by Web Connection IIS .NET Connector Module" />
  </webConnectionConfiguration>
  <webConnectionVisualStudio>
    <!-- Configuration Settings for the Web Connection Visual Studio Add-in 
         Not used at runtime, only at the design time -->
    <add key="FoxProjectBasePath" value="c:\WebConnection\Fox\" />
    <add key="WebProjectBasePath" value="c:\WebConnection\Web\wconnect60\" />
    <add key="WebProjectVirtual" value="http://localhost/wconnect60" />
    <!-- Optional PRG launched when VFP IDE launches -->
    <add key="IdeOnLoadPrg" value="" />
    <!-- The default browser used. Blank IE Automation, otherwise specify browser exe path -->
    <add key="WebBrowser" value="C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" />
    <!-- The editor used to edit FoxPro code - blank means FoxPro Editor is used -->
    <add key="FoxProEditor" value="" />
    <add key="FoxProEditorAlternate" value="C:\Program Files\Sublime Text 3\sublime_text.exe" />
  </webConnectionVisualStudio>
</configuration>  

Relative Virtual Paths

You can use relative virtual paths using ~/ syntax to describe file paths in the Web folder of the application. Since Web Connection projects use known relative paths for folders it's easy to create relative paths for the TempPath, ExeFile and UpdateFile paths using syntax like: ~\..\deploy\temp\. Using paths like this make the project portable regardless if you move it to a new base location.

WebConnectionConfiguration

MessagingMechanism
Determines the messaging mode used by module. The following values can be used:

  • File
  • Com

TempPath and TempFilePrefix
The temp folder used for file based messaging. This is the folder where files are written to with the TempFilePrefix for each message file. This path and prefix should match the corresponding path and prefix in the Applications .ini file in your Web Connection Server implementation.

We recommend you use a virtual relative path for the TempPath like ~\..\deploy\temp to keep the temp path consistent and portable.

Timeout
This is the request timeout for requests in seconds. When a request against a Web Connection server takes longer than this timeout to execute the request is considered failed and a failure response is returned.

AutoStartServers
Determines where file based servers are automatically launched when the application starts. Loads as many servers as specified in ServerCount. Applies only to file based - COM servers always auto start when accessed for the first time.

ComServerProgId
For running in COM Mode this variable determines the ProgId of the COM server that is to be loaded.

ServerCount
Determines how many COM or File based servers are loaded when loading from the administration interface. This is the COM or file based instance pool that is active.

ComServerLoadingMode
Determines how COM servers are accessed when under load. LoadBased finds the first server in sequential order. RoundRobin goes through the list trying to load the next server. Load based excercises the first servers more heavily, while round robin excercises all instances more evenly.

UseStaComServers
Determines whether EXE servers are launched in STA or MTA thread mode. STA is the safer mode for VFP COM Servers, but has a few limitations on the size of the pool and unloading characteristics. MTA is unbound and is safe for Web Connection servers as servers stick to a specific thread, but MTA mode is known to cause potential unloading/reloading issues. If you have problems with Application Pool recycling or restarting, you can try STA COM mode.
Default: false

ExeFile and UpdateFile
ExeFile should point at your executable Web Connection server EXE which is the server actually running. UpdateFile is a temporary filename for an uploaded, updated EXE that can be hotswapped when running in COM mode.

We recommend you use a virtual relative path for these keys like ~\..\deploy\myApp.exe to keep the path portable.

AdminAccount
Account(s) used for Windows Authentication to access the module Admin pages. The value is one or more Windows accounts or groups in a comma delimited list or ANY. ANY means any logged in user has access.

If you use account names the names have to match exactly what is returned in IIS including a domain prefix (ie. WWSERVER\ricks if using a domain or network account).

Use ANY for any logged in account. You can leave the value blank to allow any user - logged in or not to get into the admin pages.

AdminPage
The URL to the admin page. This link is used on the module pages to link back to the admin pages.

LogDetail
Determines whether the log file in temp\wcerrors.txt logs request details for each request. By default only error information is logged. When this value is True each request logs additional detail information. Detail mode can be very verbose, and the log file can grow very large so use this option with care for debugging only.

ValidateRequest
When True validates each request by sending a RequestId from the module to the Web Connection server and back. The Request Id is validated and compared against the value that was passed in on entry to insure request integrity. False by default but can be set if you need to debug potential session cross talk.

MessageDisplayFooter
A string that is used to display a footer value at the bottom of module admin requests.

Web Connection Visual Studio Configuration

These settings in web.config control how the Web Connection plug-in finds various folders that hold the Web site, application folders and editor and browser settings.

FoxProjectBasePath
Base path to the Web Connection project folder. Typically this will be the Deploy folder in a new project.

WebProjectBasePath
The physical path to Web site's virtual folder where HTML and script files are stored.

WebProjectVirtual
The IIS virtual path on the server to access the Web application in a browser. For example /wconnect/ for the wconnect virtual folder.

IdeOnLoadPrg
Path to a PRG file that is fired when the plug-in initializes a new instance of the FoxPro IDE when editing. You can use this to set up your FoxPro environment in the new instance of the IDE that is created. Optional.

WebBrowser
Specify the EXE path to the primary browser you want to use for View in Browser functionality. If you leave this blank Internet Explorer is used via Automation.

** FoxProEditor and FoxProEditorAlternate**
Allows you to specify the path to an editor used to edit FoxPro source files from the plug-in. Leave this value blank to load the Visual FoxPro IDE.

I recommend Sublime Text as an alternate editor with Matt Slay's Sublime FoxPro extension installed.


© West Wind Technologies, 1996-2024 • Updated: 06/26/19
Comment or report problem with topic