Additional Catalog Service Config Settings

  • Updated

The InRule catalog service has several relevant options that are adjustable in the configuration file for the service.

The InRule catalog service configuration files can be found at the following locations:

  • IIS - <InRule installation directory>\irServer\RepositoryService\IisService\Web.config
  • Windows Service - <InRule installation directory>\irServer\RepositoryService\WindowsService\RepositoryWindowsService.exe.config

Catalog Service configuration settings

  • Database Path
  • Maximum Number of Rule Elements
  • Lock Acquisition Timeout In Seconds
  • Command Batch Size
  • Enable Repository Service Aggregate Stats
  • Enable XACT_ABORT Support
  • Brute-Force Login Protection 

Database Path

Database connection information for the catalog service is controlled by the settings contained in the element entitled <inrule.repository.service>.  The most common adjustment of this configuration setting is to alter the database name to be utilized if irCatalog is installed in multiple locations. For example:

  <configuration>
     <configSections>
       <section name="inrule.repository.service" type="InRule.Repository.Service.Configuration.ConfigSectionHandler,InRule.Repository.Service" />
       ...
     </configSections>
     ...
     <inrule.repository.service>
       <uri>http://localhost/InRuleCatalogService</uri>       <connectionString>Server=.\SQLEXPRESS;Database=InRuleCatalog;Integrated Security=SSPI</connectionString>
       <authentication type="Database" />
       <catalogType>SqlServer</catalogType>
     </inrule.repository.service>
     ...
  </configuration>

Maximum Number of Rule Elements

The MaxItemsInObjectGraph parameter specifies the maximum number of rule elements that can be saved to or retrieved from the catalog. The MaxItemsInObjectGraph parameter can be specified as follows:

<appSettings>
 <add key="inrule:repository:service:maxItemsInObjectGraph" value="2147483647">
</appSettings>         

OR  

<configuration>
       <configSections>
         <section name="inrule.repository.service" type="InRule.Repository.Service.Configuration.ConfigSectionHandler,InRule.Repository.Service" />
         ...
       </configSections>
       ...
       <inrule.repository.service>
         <MaxItemsInObjectGraph>2147483647</MaxItemsInObjectGraph>
       </inrule.repository.service>
       ...
    </configuration>

Lock Acquisition Timeout In Seconds

The LockAcquisitionTimeoutInSeconds parameter specifies the maximum period of time to wait for a lock acquisition to complete. The LockAcquisitionTimeoutInSeconds parameter can be specified as follows:

<appSettings>
 <add key="inrule:repository:service:lockAcquisitionTimeoutInSeconds" value="100">
</appSettings>         

OR  

    <configuration>
       <configSections>
         <section name="inrule.repository.service" type="InRule.Repository.Service.Configuration.ConfigSectionHandler,InRule.Repository.Service" />
         ...
       </configSections>

       ...
       <inrule.repository.service>        <lockAcquisitionTimeoutInSeconds>100</lockAcquisitionTimeoutInSeconds>
       </inrule.repository.service>
       ...
    </configuration>

Command Batch Size

The CommandBatchSize parameter specifies the maximum number of sql statements per batch, when it is submitted to the database server. The following is an example of the setting configuration with this parameter specified: 

<appSettings>
 <add key="inrule:repository:service:commandBatchSize" value="40">
</appSettings>         

OR  

<configuration>
       <configSections>
         <section name="inrule.repository.service" type="InRule.Repository.Service.Configuration.ConfigSectionHandler,InRule.Repository.Service" />
         ...
       </configSections>
       ...
       <inrule.repository.service>
        <commandBatchSize>40</commandBatchSize>
       </inrule.repository.service>
       ...
    </configuration>

Enable Repository Service Aggregate Statistics

The enableRepositoryServiceAggrStats parameter specifies if aggregate statistics shall be included in the SOAP header for all Catalog responses. The following is an example of the setting configuration with this parameter specified: 

<appSettings>
 <add key="inrule:repository:service:enableRepositoryServiceAggrStats" value="true">
</appSettings>         

OR

<configuration>
       <configSections>
         <section name="inrule.repository.service" type="InRule.Repository.Service.Configuration.ConfigSectionHandler,InRule.Repository.Service" />
         ...
       </configSections>

       ...
       <inrule.repository.service>
        <enableRepositoryServiceAggrStats>true</enableRepositoryServiceAggrStats>

       </inrule.repository.service>
       ...

    </configuration>

Enable XACT_ABORT Support

The enableXActAbortSupport allows Catalog Upgrader to run when  XACT_ABORT is enabled in SQL Server. The following is an example of the setting configuration with this parameter specified:

<appSettings>
 <add key="inrule:repository:service:enableXActAbortSupport" value="false">
</appSettings>         

OR
<configuration>
       <configSections>
         <section name="inrule.repository.service" type="InRule.Repository.Service.Configuration.ConfigSectionHandler,InRule.Repository.Service" />
         ...
       </configSections>
       ...
       <inrule.repository.service>

        <enableXActAbortSupport>true</enableXActAbortSupport>
       </inrule.repository.service>

       ...
    </configuration>

Enable Brute-Force Login Protection

The brute-force login protection is governed by two settings that work together:

  • maximumNumberOfLoginAttempts
  • loginAttemptsWindowDurationInMinutes

The following is an example of a catalog service with brute-force login protection enabled:
    <configuration>
       <configSections>
         <section name="inrule.repository.service" type="InRule.Repository.Service.Configuration.ConfigSectionHandler,InRule.Repository.Service" />
         ...
       </configSections>
       ...
       <inrule.repository.service>
    <maximumNumberOfLoginAttempts>5</maximumNumberOfLoginAttempts>
    <loginAttemptsWindowDurationInMinutes>10</loginAttemptsWindowDurationInMinutes>
       </inrule.repository.service>
       ...
    </configuration>

The above example will allow 5 incorrect login attempts within a 10 minute period before deactivating those user credentials. See the InRule Install Help documentation for more information.

Default values

The following table specifies the default values for each setting:

Parameter name

Default value

MaxItemsInObjectGraph

2147483647

LockAcquisitionTimeoutInSeconds

30

CommandBatchSize

100

enableRepositoryServiceAggrStats

false

enableXActAbortSupport

maximumNumberOfLoginAttempts

loginAttemptsWindowDurationInMinutes

false

0

0

 

Was this article helpful?

0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.