Application Server: SWIS behavior should not configured at the root level

Applies To: Windows Server 2008 R2, Windows Server 2012

This topic is intended to address a specific issue identified by a Best Practices Analyzer scan. You should apply the information in this topic only to computers that have had the Application Server Best Practices Analyzer run against them and are experiencing the issue addressed by this topic. For more information about best practices and scans, see Best Practices Analyzer.

Operating System

Windows Server 2012

Windows Server 2008 R2

Product/Feature

Application Server role

Severity

Warning

Category

Configuration

Issue

SQL Workflow Instance Store (SWIS) behavior is configured at the server root.

When you configure the Windows Server AppFabric role service of the Application Server role to use a SQL Service-based persistence store, the AppFabric Hosting Services use the SQL Workflow Instance Store (SWIS) for the persistence store. The SQL Workflow Instance Store is a feature of.NET Framework 4 that enables workflows to persist state information into a SQL Server database. AppFabric ships with an instance store provider, an instance query provider, and an instance control provider for the SWIS. To enable persistence, you can configure SWIS either programmatically or by adding the SWIS behavior element to the configuration file.

Impact

Configuring the SWIS behavior at the server root will make all WF services that use the nameless behavior hosted in this computer durable.

Resolution

Remove the SWIS behavior from the root web.config file, and configure it instead at the site, application, or service level.

To configure the SWIS behavior

  1. In Notepad, open the root web.config file, which is located in the same location as machine.config, normally the following: %SystemRoot%\WINDOWS\Microsoft.Net\Framework\v#.#.#.#\CONFIG.

  2. Delete the sqlWorkflowInstanceStore behavior element from the serviceBehaviors element of the root web.config file.

  3. Add the sqlWorkflowInstanceStore behavior to the Website web.config file or the application web.config file.

Additional references

Persistence Concepts (https://go.microsoft.com/fwlink/?LinkId=200930)

SQL Workflow Instance Store (https://go.microsoft.com/fwlink/?LinkId=167347)