Config Settings
Configuration settings contains all the configuration options for the client applications, task service and web service.
File Types
Depending on the application or service there can be different file types that hold the settings:
- settings.config
- This is an xml config file holding all the various settings
- appsettings.json
- This is a json setting file for use with services that integrate in cloud, iis or standalone environments.
Regardless of the type of file, the settings are all the same, they contain a key and value for each setting.
Settings
The system has the following settings that can be configured through the setting files:
Key | Value | Default |
---|---|---|
ConString | Data Source=.; Initial Catalog=FinancialServices; Persist Security Info=True; Trusted_Connection=True; Connection Timeout=120; ConnectRetryCount=3; ConnectRetryInterval=30 |
The connection string to the database. Required for the Web and Task Services, not required for any client application. |
ValidDatabases | FinancialServices=FinancialServices;Insurance=Insurance | A list of databases the web or task service can connect to using the above ConString. Each database has the format Alias=DatabaseName. The Alias the user can see from the client when logging in, it can be different if you want to avoid exposing database names. |
VisibleDatabases | FinancialServices;Insurance | This ensures users can only see certain aliases the service connects to. |
RestartServiceOnAddInChanges | [Default] True |
Indicates when an AddIn is changed the service should close and restart to dynamically load in the new changes |
ValidIPAddresses | 1.1.1.1-2.2.2.2; 3.3.3.3; 4.4.4.4-5.5.5.5 |
You can restrict the allowed IP Addresses that can connect to just those that match specific addresses or ranges. This ensures no one outside your vpn or other addresses can connect regardless of their credentials. |
MaxLoginAttempts | [Default] 5 |
The Maximum number of failed logins before a user is locked out and has to be set to not suspended by another user with access. |
SessionTimeoutSeconds | [Default] 36000 |
The number of seconds that a login is valid for before a user is automatically logged off and has to log back in again. |
UseSharedCache | [Default] False |
Indicates you would like to synchronize the cache between multiple services through the use of a shared cache server |
SharedCacheConnectionString | The connection string to a shared cache server such as a redis cache server | |
SharedCacheExpirey | 2:00:00:00 | The default timespan to use before items in the cache automatically expire |
StorageType | [Default] Local Other Options: Azure |
The type of storage to use for saving task server results |
StorageConnectionString | [Default] c:\ |
The default connection string to the storage type. For azure this is an azure storage connection string, for a local drive it's just the drive name |
StorageBasePath | LTShare\ | The base path to store everything in the storage type. For Azure this is a container, for a local file system it's just a folder path. |
UseStorageForTaskServiceQueue | False | Indicates you want the system to use the storage to create a queue for the task service rather than the task service polling the database continually. For Azure this will use an Azure queue and means you can have a SQL Azure database setup as serverless while the task service uses the azure queue |
InitiallyConnectToDatabasesOnStartup | False | Indicates when this service initially starts up that it should connect to each database. This can be configured not to happen if the task service is running from a sturage queue instead, but you may want an initial connection to verify databases. |
TaskServiceQueueName | The name of the queue for the task service | |
TaskServicePollTimeInMilliSecs | [Default] 1000 |
The gap between the task service polling the database for any new tasks (if it isn't using the storage account as a queue) |
LogToFile | A local file path for any log files | |
LogToConsole | Indicates if the system should also log to conole output when the services are running in the cloud (or locally). | |
MinLogLevel | [Default] Information |
The minimum log level |
LogDatabaseSQL | False | Indicates if SQL requests should be logged as well |
MaxPartsPerBatch | [Default] 10000 |
The maximum parts in a batch request as an odata message quota. Required only for the web service |
MaxOperationsPerChangeset | [Default] 10000 |
The maximum number of operations in a single changeset. Required only for the web service. |
MaxReceivedMessageSize | [Default] 10000000 |
The maximum message size for odata requests. Required only for the web service |
EmailSenderName | If using the auto email notification functionality of the platform you can provide it the email account details to automatically send from. | |
EmailSenderAddress | The email address to use to send emails from | |
EmailSMTPAddress | The SMTP email address to use to send emails from | |
EmailSMTPPort | The SMTP port for the email address to send emails from | |
EmailLogin | The login for the email address to send emails from | |
EmailPassword | The password for the email address to send emails from | |
AutoUpdaterPath | https://web.lemonedge.com/install/clients/updater/ | The path to look for new versions of the AutoUpdater application |
UpdatePath | https://web.lemonedge.com/install/clients/wpfcore/ | The path to look for new versions of the currently running application. |
UpdatePathSharedAccessKey | xxxx | A shared access key the enables access to the specified UpdatePath |
MessageConnectionString | A service bus end point for using messages to synchronize local caches across multiple services | |
MessageTopicForServerSync | The topic to use for the messages for server synchronization | |
MessageType | Azure | The type of message service to use. "Azure" is the only current option. |
SQLBulkCopyMinSize | [Default] 25 |
Indicates that after 25 of the same type of items are being inserted/updated/deleted in a single transaction the system will use sqlbulkcopy to transport the data rather than individual sql commands |
SQLBulkCopyBatchSize | [Default] 0 |
Indicates when using sqlbulkcopy how many items should be sent in a single batch. By default this is 0, meaning all items. |
DefaultCommandTimeout | [Default] 300 |
Indicates the maximum time in seconds the system will wait for sql server before timing out when running most common queries |
ShortCommandTimeout | [Default] 120 |
Indicates the maximum time in seconds the system will wait for sql server before timing out when running queries that are expected to return fast |
LongCommandTimeout | [Default] 1800 |
Indicates the maximum time in seconds the system will wait for sql server before timing out when running queries that can take a long time, such as any server task queries |
SSRS_URL | [Default Blank] | Indicates the url to connect to your SSRS report server that the SSRS Reports will use by default. The url needs to connect to the 2005 report execution server, for example: http://localhost:80/ReportServer/ReportExecution2005.asmx?wsdl |
SSRS_Credential_Domain | [Default Blank] | The domain to use when using domain/username/password credentials to connect to the SSRS report server. |
SSRS_Credential_UserName | [Default Blank] | The username to use when using domain/username/password credentials to connect to the SSRS report server. |
SSRS_Credential_Password | [Default Blank] | The password to use when using domain/username/password credentials to connect to the SSRS report server. |
SSRS_Credential_UseDefault | [Default] true |
Indicates when connecting to the SSRS report server if it should use default network credentials or not. You must provide domain/user |
Note
[Default] Indicates this is the default value used by the system if you don't include a value in the settings file at all.
Windows Authentication
If you deploy the web service in a Windows environment you are also able to take advantage of Windows Authentication for login to the application.
To do that you need to add the following settings to the web.config file for the web service:
In system.webServer.security:
<configuration>
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false"/>
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</configuration>
In system.web:
<configuration>
<system.web>
<authentication mode="Windows" />
<authentication mode="Forms" />
</system.web>
</configuration>