Configuration
All BcsService configurations are stored in the DigaSystem registry in the subkey "BcsService". If only one configuration is defined, it will be used automatically when the BcsService is started. In the following figure, there is only one configuration "Local".
If more than one configuration is specified, the desired configuration must be specified. Each configuration is stored in its own subkey which is named after the configuration name that was provided in the installation process. See .Using multiple configurations v3.2 for details.
In the following figure, there are two configurations "Config1" and "Config2".
Configurations can be stored in the global and in the local registry. Both registries are scanned but the local registry has priority over the global registry.
Create configuration with default values
o avoid to enter parameter names it's recommended to use the command line /SetDefaultValues to create configuration with all parameteres with default values. See .Install & Configure & Uninstall Windows service v3.6
Logging
Since BcsService version 3.2, the standard DigaSQL logging mechanism is used. To enable the logging for a specified configuration, set the variable with the name "BcsService-ConfigurationNameHere" in the "Protocol" subkey of the DigaSystem registry.
If any error occurs before the DigaSQL log is initialized (e.g. configuration with specified name not found) than the standard Windows Application log is used. This means if BcsService does not start, check the Windows Application log for any messages.
Windows log
BcsService uses the standard Windows log (Windows Application log) for logging if the DigaSQL isn't accessible. E.g. before the DigaSQL initialization or if the DigaSQL initialization failed. All Windows log entries show the configuration name in the source field, e.g. BcsService_Config1. That simplifies the analysis if BcsService is installed with multiple configurations.
Be aware! When using special characters (at least space and - ) in the configuration name, Windows interprets them as separators and stores only parts of the name in the source field of the Windows log.
E.g. for a configuration with the name VM-Station-2020-BCS the source field will store only 2020-BCS instead of BcsService_VM-Station-2020-BCS. To avoid that, don't use any special characters in configuration names.
DigaSystem registry subkeys and parameters
BcsService\ConfigurationName
Parameter name | Description |
LogLevel | Determined how much details will be stored into log for this configuration. Only followed values can be specified otherwise error occurred
Default value |
BcsService\ConfigurationName\BCS
Contains parameters affected to linked BCS
Parameter name | Description |
Name | BCS (not workstation!!!) name from DigaSystem registry in key "Digas\PlanServer\NameHere" Example: |
BcsUser | Identity under which the service connects to the BCS server for internal tasks. User should have rights to read all programs metadata Example: |
BcsPassword | Password for the identity encrypted in BCS format. Example: |
PollingInterval | Polling interval (milliseconds) for checking active connections from clients. If all connections under with specified BCS user are inactive more as this interval than connection to BCS will be closed and all clients used this user name should be login by BCS again. Default value |
BcsService\ConfigurationName\Database
Contains database service parameters
Parameter name | Description |
DatabaseUser | Identity under which the service connects to the DigaSQL database. User should have rights to read all used tables. Example: |
DatabasePassword | Password for the identity to the DigaSQL database encrypted in BCS format. Example: |
BcsService\ConfigurationName\FileCopy
The parameters of this key define the behavior of BcsService regarding when or when not to copy files into media directories. For a description of the individual parameters see the key "DigAIRange\FileCopy".
BcsService\ConfigurationName\Paths
Contains path to affected locations
Parameter name | Description |
MediaFolder | Folder where temporary stored received media files Default value: Example: |
HtmlFolder | Local path with data for HTML streaming. E.g. install WebDigAIRange into this folder to using BCS Service as host for WebDigAIRange Default value: Example: |
MediaFolder0 | Optional parameters in any count to provide file access via BCS Service. By default BCS Service restricted any file access to followed locations
To provide file access via BCS Service to any other directories with all subdirectories define it in extra parameters MediaFolder0...N If any parameter value is empty it's ignored. Example: |
BcsService\ConfigurationName\Paths\AllowList
Contains optional directories in any count to provide file access via BCS Service.
Parameter name | Description |
AllowFolder0 | Optional parameters in any count to provide file access via BCS Service. By default BCS Service restricted any file access to followed locations
To provide file access via BCS Service to any other directories with all subdirectories define it in extra parameters AllowFolder0...N Example: |
BcsService\ConfigurationName\Paths\DenyList
Contains optional directories in any count to provide file access via BCS Service.
Parameter name | Description |
DenyFolder0 | Optional parameters in any count to restrict file access via BCS Service. By default BCS Service restricted any file access to followed locations
To restrict file access via BCS Service to any directory with all subdirectories define it in extra parameters DenFolder0...N Example: |
BcsService\ConfigurationName\Service
Contains web service parameters
Name | Description |
AcceptNoRightsCheckFlag | Accept NoRightsCheck BCS flag from requests. If not allowed any request with NoRightsCheck flag will be returned with error message. Only followed values can be specified otherwise error occurred
Default value: |
HttpInactivityTimeout | Closing BCS connection inactivity timeout in milliseconds due inactivity for HTTP clients Default value: |
WebSocketInactivityTimeout | Closing BCS connection inactivity timeout (milliseconds) due inactivity for WebSocket clients. Disabled if zero. If disabled BCS connections will be closed only after closing event from WebSocket API Default value: |
ScanWebSocketClients | Active scan WebSocket clients to identify dead connections. Clients must support ping / pong communication. If active mode enabled service actively scan WebSocket clients with ping / pong communication top identify dead connections. If active mode disabled every WebSocket client must periodically send either ping or PostHeartbeat (see BCS Service SDK for details) message to the service to indicate about alive connection. Active mode is recommended to reduce the service load and simplify the WebSocket clients
Default value: |
BaseAddress | HTTP base address of the service. Mainly defines the port. Default value: Example: |
HTTPSAddress | HTTPS base address of the service. Mainly defines the port.. Can be used together or without HTTP. Disabled if empty. You need to configure the certificate Default value: Example: |
WebSocketPort | Port for the WebSocket Server. If zero or omitted no WebSocket server Example: |
WSSPort | Port for the WSS Server. If zero or omitted no WSS server. You need to configure the Certificate Example: |
WSSCertificate | Local path to *.crt or *.pfx file with certificate for WSS connections. If empty or omitted no WSS server. Try to use *.crt instead *.pfx Example: |
WSSCertificatePassword | Optional password to certificate for WSS connections encrypted in BCS format Example: |
RootName | Name of the Web Service root. Used in API. E.g. Default value: |
FileHandlingResultKeepTime | Keep time (milliseconds) for information about file handling state and progress in internal cache for result requests after file handling task is finished Default value: |
SendDefaultAudio | Optional send default audio about non existed prelisten file instead error. Only followed values can be specified otherwise error occurred
Default value: |
AllowAutomaticAccessToBcsMediaDirectories | Automatically provide file access to all BCS media directories without including it into allow list
Default value: |
AllowAutomaticAccessToDbMediaDirectories | Automatically provide file access to all database media directories without including it into allow list. If this option enabled service start can be might slower because depends from the number of accessible database table
Default value: |
EnableMemoryConsumptionWatcher | Watch memory consumption and logged it with log level "Information". Enable it only if it requested from support
Default value: |