Experimental project

This is a sandbox project, which contains experimental code for developer use only.

This module offers integration between Drupal and Windows server AppFabric Cache, through the standard Drupal Cache API. It is intended to be used on Windows Drupal setups (IIS or Apache based stacks).

The target is to improve scalability of Drupal on a Windows / IIS environment, with purposes similar to memcache/memcached on Linux.

Prerequisites

Deployment

Deploy AppFabricCacheWrapper.dll in .Net's GAC, e.g.:

gacutil /i AppFabricCacheWrapper.dll

Register the COM assembly:

%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\regasm AppFabricCacheWrapper.dll

Note: the above steps will be integrated in an automated setup.

IIS

In IIS 7.x, configure the Drupal application's worker process identity to an OS user (with minimum privileges). This identity will be used by the PHP process to connect to AppFabric. If the IIS server and the AppFabric server are not part of the same domain or you choose a local user for the worker process identity, make sure that an identical user exists on the AppFabric server (passthrough authentication).

AppFabric

Grant access to the user configured in the previous step via Powershell:

Grant-CacheAllowedClientAccount <username>

Drupal config

Copy the module files in a directory named "appfabric" under "modules" in your drupal installation.

In your Drupal, enable the module and configure the related AppFabric connection settings (hostname, port and cache name). Default values are ("localhost", 22233, "default").

In your site's settings.php file add:

$conf = array( 
	'cache_inc' => './modules/appfabric/appfabric.inc', 
);

Todo

AppFabric based session provider.

Any comment, suggestion and contribution is welcome! :-)

Alessandro Pilotti
[ MVP ASP .Net / IIS ]

Project information