Web.config File Options

The web.config file contains several global application options used throughout both the ASP.NET and classic ASP code of SOLO Server. When you install SOLO Server in a new website root or virtual directory (as recommended), many of the settings are already configured to allow the application to run. You can later come back to adjust the global settings as needed.

Changing Values in web.config

Important

If any changes are made to the web.config file, be sure to save global.asa, so that IIS sees a new timestamp on this file. When it does, it will re-load configuration parameters from web.config for the classic ASP code to see. Alternatively, you may reset IIS or recycle the application pool to force the new parameters to be read.

<system.web> section

This section contains standard ASP.NET settings. You must set up identity impersonation in this section to allow the site to run as the user mapped to the SOLOServer user on the database. This is taken care of automatically by the installer on fresh installs. To change or edit the user, modify the following entry in the file, filling in the username/password of the SOLO Server user.

<system.webServer> section

This section contains several sections to configure SOLO with IIS:

<location> sections

By default, the web.config will be configured with three location sections. The first location section configures the IIS request filtering feature to allow the PUT and DELETE verbs for the API used for certain pages in the administrative interface. This will be commented out by default, and must be uncommented if using request filtering. The second location section configures custom error handling for custom uncompiled classic ASP scripts:

The third location element configures file upload size limitations for ESD and storefront files uploaded through SOLO. The section contains two subsections which configure IIS to allow uploads of up to 300 MB.

<runtime> section

This section defines assembly bindings for several dependencies.

<connectionStrings> section

This section contains the database connection string for SOLO features leveraging the Entity Framework.

<appSettings> section

Several SOLO Server specific settings are defined in this section as follows:

ASP.NET Settings

ValidationSettings:UnobtrusiveValidationMode
Controls how classic ASP.NET web forms validation functions. Should always be set to None.

External Configuration Settings

SOLOConfigPath
File system path and filename to the common SOLO.config file shared between the ASP and ASP.NET portions of SOLO Server. This is generally installed in the web root directory, but this is not required.
HttpRequestValidatorConfigurationPath
File system path and filename to the configuration file for the HttpRequestValidator component. This should typically match the path specified in SOLOConfigPath. Custom implementations can use a separate configuration file if necessary.
HttpErrorHandlerConfigurationPath
File system path and filename to the configuration file for the HttpErrorHandler component. This should typically match the path specified in SOLOConfigPath. Custom implementations can use a separate configuration file if necessary.

Web Service Settings

InternalWebServiceUsername
The username used to secure and authenticate communications to the internal web services.
InternalWebSevicePassword
The password used to secure and authenticate communications to the internal web services.

Database Settings

ConnectionString:
The connection string to the SOLO Server database.
DatabaseApplicationName
Optional name to pass as the Application Name in the connection string.
ConnectionProvider
Data provider for ADO in the COM based portions of SOLO Server. By default, SOLO Server will use SQL Server Native Client 11 (SQLNCLI11), falling back to the older OLE DB provider (SQLOLEDB.1) if the native client is not installed. This can be used to override the default and use a specific provider.
LongRunningQueryTimeout:
The timeout value (in seconds) to allow long running queries to execute on .NET web pages. If set to 0 or omitted, the default value of 30 seconds is used. Currently this will affect the timeout for searching on customer details and for any .NET based reports. This should be left at 0 unless you are experiencing database timeouts searching for customers or running .NET based reports. Also note that if you increase this near or above 90 seconds, you should also set the executionTimeout property of the httpRuntime element in the web.config value to a value slightly greater than this value to prevent ASP.NET timeouts from occurring.
CorruptedConnectionDetectionEnabled
Advanced option. Whether to attempt to detect and log corrupted connection state in the classic ASP connection pool. These states can occur when the database server goes offline, but ASP does not detect connections that have been severed. Requires granting the application user permission to write to the application event log.

Web Site Options

SOLODirRoot
Folder that contains SOLO Server root directory. If during installation you chose to install SOLO Server at the web site root directory, this parameter should be "". Otherwise, if SOLO Server was installed in a subdirectory below the web root, this parameter should be the path to that directory from the root - i.e. "/solo". Note: Internally this value is used within SOLO Server when setting the path property on several http cookies. Since web browsers treat cookie paths as case-sensitive, this value is also case-sensitive. For this reason, we recommend always using lower case for this value and treating all paths within SOLO Server as lower case.
EnableAffiliateSignup
True/False as to whether the affiliate signup page should be enabled.
AffiliateMasterAgreementName
This should be set to the name of the agreement that the master identity hosting the server uses for Affiliates to review before signing up. Example "Concept Software Network Agreement".
AffiliateMasterAgreementURL
The document containing the master affiliate network agreement. This will be displayed on all authors' affiliate sign-up pages.
SOLOAffiliateSecure
Set to True to require affiliate pages to require a secure login through https.

Email Settings

EmailDeliveryMethod
The email delivery method. Can be one of the following:
  • Network - Email sent using network mail delivery through the specified SMTPRemoteHost/SMTPRemotePort.
  • PickupDirectoryFromIis - Emails are written to the default local IIS pickup directory.
  • SpecifiedPickupDirectory - Emails are written to the specified file system directory.
SMTPRemoteHost
The SMTP server for Network mail delivery.
SMTPRemotePort
The remote port to use for Network mail delivery.
SMTPUseSsl
Whether to use an SSL connection for Network mail delivery (true or false).
SMTPUser
The SMTP user name, if necessary.
SMTPPassword
The SMTP user password, in necessary.
EmailAlwaysLogToQueue
When using Network as the EmailDeliveryMethod, set this to True to always log emails to the EmailPickupDirectory in addition to sending the email.
EmailPickupDirectory
The pickup directory for the SpecifiedPickupDirectory delivery method. When using Network delivery, this is also the location of the queue folder where the files will be written should the network server become unavailable.
EMailAdminName
From name used in administrative email messages to authors.
EMailAdminAddr
From email address used in administrative email messages to authors.
EMailOrderError
Email address to display to customer to contact when their account can't be found in the Customer License Portal lost password script or during other error conditions that typically never happen. In the case of the lost password script, the user can be directed to a support URL by specifying a value for the configuration parameter ErrorSupportURL.
EMailOrderSubject
Subject for default new order confirmation email.
EMailErrorLogPath
File system path to the log file where email errors are logged. Generally this is in the SOLO Server temp directory, but this is not required. Note that the user the website is running under should have permission to write to the directory.

File System Settings

SOLOCustomRootDir
File system root directory where customizable HTML, XSL, XML, and WebComponentPages templates/resource file root folders are located. This is set by the installer to point to the /SOLO/DLLS subdirectory off of the install root directory. In a default configuration, SOLO Server will assume each of the template directories to be the CustomHTML, CustomXSL, CustomMSL, and WebComponentPages subdirectories of this directory when loading template files from the file system.
SOLOCustomHTMLDir
Optional file system root directory for Custom HTML files to override the default directory of SOLOCustomRootDir\CustomHTML. The directory must allow the web site user read access.
SOLOCustomXSLDir
Optional file system root directory for Custom XSL files to override the default directory of SOLOCustomRootDir\CustomXSL. The directory must allow the web site user read access.
SOLOCustomXMLDir
Optional file system root directory for Custom XML files to override the default directory of SOLOCustomRootDir\CustomXML. The directory must allow the web site user read access.
TempDir
File system root directory to store temporary files. This directory must exist and the web site user must have read/write access. Note that a trailing backslash should NOT be specified.
FileStorageRoot
File system root directory for ESD files. This directory must exist and the web site user must have read/write access to it. This folder is typically not accessible via HTTP through any web site.
FileUltimate:DisableVideoThumbnails
Whether to disable the video thumbnails feature of the FileUltimate control used for managing storefront and ESD files. This feature is known to result in crashes of the IIS worker process in certain scenarios. Setting this to 1 will disable this feature and eliminate the crash issue.

Amazon Web Services Settings

UseAWSForESD
True/False as to whether to use Amazon Simple Storage Service (S3) for electronic software delivery.
AWSBucket
The AWS bucket name.
AWSAccessKey
Access Key for the AWS bucket.
AWSSecretKey
Secret Key for the AWS bucket.

Web Component Pages Settings

WebComponentPagesRoot
Optional file system root directory for Custom XSL files to override the default directory of SOLOCustomRootDir\WebComponentPages. The directory must allow the web site user read access.
WebComponentPagesDatabaseIdentifier
Application specific database identifier for database objects used by the WebComponentPages objects. This should always be "SOLO".

Cookie Settings

CookieEncryptionKey
Encryption key used when encrypting cookie values. A random string should be used here. If omitted, the default key will be used.

Fraud Control Settings

FraudIPAutoInsert
Set to True to enable automatic insertion of the IP address into the FraudIP table when HOLD is returned by bank.
FraudIPDaysToBlock
Number of days to block an IP address after insertion into the FraudIP table.

WorldPay Payment Gateway Options

WorldPayTest
Test value to pass when in test mode for the WorldPay payment gateway. Use the following values:
  • 101 - Test mode returning a decline
  • 100 - Test mode returning an approval
  • 0 - Live mode

PayPal Payments Standard Options

PayPalLog
Set to "Yes" to enable PayPal logging.
PayPalBNCode
For use with the PayPal Partner program. The PayPal Partner BN Code. When specified, this value will be included as the bn form input on the .NET cart PayPalRedirect.aspx page.

PayPal Payments Pro Settings

PayFlowServer
The live PayPal Payments Pro processor host - currently payflowpro.paypal.com. Note that https:// should NOT be specified.
PayFlowTestServer
The test PayPal Payments Pro processor host - currently pilot-payflowpro.paypal.com. Note that https:// should NOT be specified.
PayFlowPort
The port to use when communicating with the PayPal server, typically 443 (for https).
PayFlowTimeout
The time in seconds to allow before timing out a connection to the PayPal server.
PayFlowProxyServer
The proxy server to use when connecting with the PayPal server (if applicable).
PayFlowProxyPort
The port on the proxy server to use when connecting with the PayPal server (if applicable).
PayFlowProxyUsername
The proxy username to use when connecting with the PayPal server (if applicable).
PayFlowProxyPassword
The proxy password to use when connecting with the PayPal server (if applicable).
PayFlowBNCode
For use with the PayPal Partner program. The PayPal PayFlow Partner BN Code. When specified, this value will be included in payment request to the PayFlow gateway.
Standard PayFlow API entries
The remaining entries here are the standard PayPal Payments Pro API configuration settings for tracing/logging and are not specific to SOLO Server. See the PayPal Payments Pro API documentation for more details.

Authorize.NET Settings

AuthorizeNETServer
The URL to the live Authorize.NET processor - currently https://secure2.authorize.net/gateway/transact.dll
AuthorizeNETTestServer
The URL to the test Authorize.NET processor - currently https://test.authorize.net/gateway/transact.dll

Payment Server Web Service Settings

PaymentGatewayLogPath
The file system path to store payment gateway log files on the server. If left blank, no logging will be performed. The user account the web site is running under should have permissions to create and write files in the specified directory.
PaymentGatewayTimeout
The timeout (in seconds) for credit processing to wait for a response from the PaymentServer web service. Omit or set to 0 to use the default value of 3 minutes. Only set this value if you are having timeout issues due to slow responses from the payment gateway.

Avalara AvaTax Settings

AvalaraLogPath
The file system path to store Avalara AvaTax log files on the server. If left blank, no logging will be performed. The user account the web site is running under should have permissions to create and write files in the specified directory.
AvalaraLoggingLevel
Avalara AvaTax logging level. Two types of logging are supported. To use the logging built in to AvaTax, use "Avalara", which will create a single AvaTaxAPI.log file logging each request and response to/from Avalara. To use SOLO Server logging, use "SOLO", which will log the response JSON of each request to a separate file, formatted with indenting and newlines for easier readability. To use both logging methods, use "Avalara|SOLO".

Plugin Settings

PluginAssemblyPath:
The file system path to the location of the plugin assembly files on the server.

QuickBooks / accounting options

The following are advanced options. For more information, contact us.

QBBankName
The default bank name used by tptqbbatchexport.asp and rptqbcheckexport.asp

Custom HTML Options

ProductCustomHTMLSearchType
Determines the method SOLO Server uses to find the custom HTML headers and footers in the ASP cart ordering process. Can take any of the following values:
  • DatabaseFirst - The database is checked first, followed by the file system. This is the default setting.
  • FileSystemFirst - The file system is checked first. Offers improved performance but reduced flexibility.
  • FileSystemOnly - Only the file system is checked.

Reporting options

RptRecentOrdersDays
The number of days of orders to display in Recent Orders report. Set to 0 to only display the current day's orders.
SOLOUnshippedGlobal
Set to True to show all Unshipped Orders from all Authors for global users.
SOLORptRefresh
The number of seconds between automatic client refresh on reports that support automatic refresh. Set to "" to disable automatic refresh.
MaximumReportingDays
Set to the maximum number of days to allow reports to be run for.
MonthlyFeesMode
The mode for calculating monthly fees. Used by SoftwareKey internally for SOLO Server Shared or Dedicated URL billing.

Customer License Portal Settings

CustomerServiceNetRedirect
Set to True to automatically redirect to the .NET Customer License Portal when accessing an older customer service center page.
CustomerServiceNetAlwaysGlobal
If true, data shown in the .NET Customer License Portal includes data for all authors regardless of whether it is running in author mode.
CustomerServiceListingRecordCount
The number of records to display on any listing pages in the Customer License Portal which support pagination (currently the license, payment, and installation history pages). If omitted or set to 0, the default value of 15 will be used.

Miscellaneous Settings

MagicChargeNumber
This is the magic credit card number which will always be approved. It must be a valid credit card account number. The default is 4442780423232.
ScriptTimeout
Maximum Script timeout value (in seconds) for pages that send files.
DefaultMerchantAcctID
Default Merchant Account ID.
DefaultTestMerchantAcctID
Default Merchant Account ID associated with new author online signups.
SOLOListAuthorName
Set to True to display the Author name on appropriate pages such as the What to do Next area of the order confirmation. Set to False to remove the Author name from these places and make the site more generic. Set this option to False to make the ordering pages more anonymous.
OfferProductChkBox
Custom text for the label of the product updates checkbox on register page during checkout.
OfferPartnerChkBox
Custom text for the label of the new product and special offers checkbox on register page during checkout.
PriorityCodeMode
Set to True to display Priority Code Option on payment page.
CartCookiePermanent
Setting this to 1 causes the cookie used for maintaining state during cart orders to become permanent, allowing the user to return and be able to see their existing cart. This is set to 0 by default so only a temporary cookie is used.
AllowStoreCreditRefund
Setting this to 1 allows authors the option of issuing store credits for refunds instead of simply crediting the customer's card. See Store Credits.
LogPaymentGatewayTraffic
Set this to True to log traffic between the payment gateway and SOLO Server.
DefaultImageUnavailable
Name of the image located in the images/solo subdirectory of SOLO Server do display when there is an error displaying an uploaded image. Defaults to "blank_image.gif". To customize, place the custom file in the SOLO Server image directory and update the filename here.
MaximumImageUploadBytes
Maximum size in bytes of image uploads for products/options as well as the storefront logo image. If set to 0, the default of 2MB (2097152 bytes) is used.
ServerIdentifier
When running in a load balanced environment, this can be used to add an identifier to the page title in the authors directory. The identifier will appear before the remainder of the title, and will also be included in any error email or declined order email notifications. Use the reserved value of MACHINE_NAME to automatically use the web server computer name.
LoginRedirect
If present, when logging in to the authors interface, users will be redirected to the specified URL with UserID and UserPW querystring parameters. Meant for use when migrating to a new SOLO Server URL.
InactiveMessage
A message to be displayed below the header in the authors interface for authors who have not completed signup.
UnrestrictedUploadsAllowed
True/false as to whether Master Users should be allowed to upload unrestricted content to the custom web directory.
ErrorSupportURL
The URL users should be directed to for general support when a problem occurs, such as when their email address can't be found in the customer database. If not defined, the user is referred to the email address defined in the variable EMailOrderError.
InternalWebServiceUseSSL
Whether internal web service calls should use an SSL connection.
EncryptedWebMethodSystemClockThreshold
The number of minutes difference in system time between the client and the server allowed by encrypted web methods (set to 0 to disable system time check).
OmitEncryptionKeyIDValidation
Whether the web methods on the XmlActivationService, XmlLicenseFileService, and XmlNetworkFloatingService web services omit the verification of the EncryptionKeyID against the AuthorID. When omitted, this is assumed to be false.
SendSpamErrorNotifications
true/false as to whether to send an error notification email when the hidden captcha on the author, affiliate, or trial signup pages is triggered.
EnableCartErrorNotifications
true/false as to whether to enable detailed email error notifications for exceptions handled by the cart.
AllowCrossAuthorPromotions
true/false as to whether bundles and upsells can be configured across authors, as well as whether items from multiple authors are allowed on the shopping cart. When set to true, the product and option drop downs on the bundled product and upsell configuration pages will display products/options from all authors rather than filtering on the current author, and the shopping cart will allow adding an item from an author other than the cart author.
SOLOInstanceType & ManagedAddAuthors
Applicable only for SOLO Server Shared and Dedicated URL instances. Controls several features specific to these instances.
EnableLicenseAudits
true/false as to whether auditing is enabled on the Licenses table. See Audit Features for more information.
CustomSSLHeader
Used when running SOLO Server behind an SSL offloading appliance. When running in this configuration, the appliance should be configured to inject a custom header into the request before forwarding it to SOLO Server, and this entry should be updated with the name of the header. SOLO Server will then consider traffic containing this header as secure.
CustomSSLPortEquivalent
Used when running SOLO Server behind an SSL offloading appliance. When running in this configuration, the appliance should be configured to forward SSL traffic to SOLO Server on a unqiue port, and this entry should be updated with that port number. SOLO Server will then consider traffic on this port as secure.
SwitchAuthorMode
Used to override the default behavior of the author switching functionality in the administrative interface. Can be set to the following values:
  • None - All author switching functionality is hidden. Set to this value for instances where only one author account is present.
  • AutoSearch - Upon opening the switch author dialog, the list will be automatically populated with open author accounts. Set this value when only a handful of author accounts are present.
IPLookupURL
The URL to use for IP address lookups within the administrative interface. Leave blank to use the default lookup at whois.arin.net. Use [varIPAddress] as a placeholder for the IP address.
ParentCatalogAuthorID
AuthorID of the parent author when running in Multi-Tenant Catalog Mode.
EnableAuthenticatedWebServiceLogging
Whether to enable usage logging for web service endpoints requiring authentication.

New Feature Settings

The following are advanced options used to control new features as they are incrementally introduced into production use. These settings should be left alone unless instructed otherwise by SoftwareKey support.

EnableExtendedFraudScreeningGlobal
True/False as to whether to enable extended fraud screening during order processing on a global basis.
NETOrderProcessorEnableGlobal
True/False as to whether to enable the new .NET based order processor on a global basis.
NETOrderProcessorStep
The processing step to transfer processing from the older ASP processor to the new .NET based order processor when processing online orders.
NETOrderProcessorStepOverride
The processing step to override the NETOrderProcessor step setting. Used for testing on an instance level when using a shared configuration file among multiple SOLO instances.
NETPayPalOrderProcessorStep
The processing step to transfer processing from the older ASP processor to the new .NET based order processor when processing PayPal orders.
NETPayPalOrderProcessorStepOverride
The processing step to override the NETPayPalOrderProcessor step setting. Used for testing on an instance level when using a shared configuration file among multiple SOLO instances.
NETOrderProcessorBCCList
Meant for QA testing purposes. A comma separated list of email addresses to BCC on all email notifications sent by the .NET order processor.
NETOrderProcessorPluginTestMode
Meant for QA testing purposes. The result to be returned by when testing plugin processing in the .NET order processor (Success, Error, or Exception).
EnableNETLicenseDetailsPage
Whether to enable the new .NET based license details page in the administrative interface. Not yet supported.
EnableNETCustomerPasswordReset
Whether to enable new functionality in the customer license portal to allow customers to generate a password reset request rather than recovering their existing password.
DisableNewAuthorHomePage
Whether to disable the new author home page and revert to the older version.
EnableServiceUsageBilling
Applicable only for SOLO Server Shared and Dedicated URL instances. Controls whether overage billing for service usage transactions is enabled.
DisableNETPricingEngine
Whether to revert to the older COM based pricing engine in the order processor.