Skip to main content

How to fix Windows Server AppFabric Dashboard on Windows Server 2012 / Windows 8

Windows Server AppFabric is a great enhancement for IIS and its caching capabilities are great for .NET applications. But currently there is a very annoying bug regarding its monitoring UI, so called “Dashboard”. Especially for me as a non WF guy (I am actually just working with WCF) it was really hard to figure it out. Hence, many thanks to Gianluca from Distributed Services at Microsoft!

Windows Server AppFabric Dashboard does not work on Windows Server 2012 / Windows 8. You will receive this error message "Unable to cast object of type 'System.Management.Automation.PSCustomObject' to type 'Microsoft.ApplicationServer.Management.Data.GroupByInfo'." This error will cause that you cannot see any request statistics neither WF nor for WCF:


The reason is, I quote Microsoft here:

"[...] the root cause is a powershell script embedded in AF code that returns different results when ran on Windows 2012. This script is about statistics for Idle & persisted WF instances, if the related table in the SQL DB is empty then the script throws the exception that you see in the error message.  With just 1 idle or persisted WF the script runs to completion without any errors [...]"

The table is called "InstancesTable" and it is placed in the AppFabric Persistence database.

Actually there is no hotfix for this issue (Microsoft says we can expect it with CU5). To fix it follow the following steps:

1. Download this folder (source code can be found in the sub folder, hosted on OneDrive)

2. Deploy\Import the WF application "WorkflowService1.zip" on your IIS.

3. Execute "TestIdleWF.exe". You screen should look like this:



4. Check the event viewer in the section "Applications and Services Logs" => Microsoft => Windows => "Application Server-System Services". Here you should not find any issues regarding connection to your AppFabric Monitoring and Persistence databases. Otherwise you have to fix your SQL Server Connection Issues first and start again with step 3.


5. Check the table "InstancesTable" in your AppFabric Persistence database, it should contain at least one line now:


If the table is still empty you need to configure the persistence store for your application. Right click on your application -> Manage WCF and WF Services -> Configure -> Workflow Persistence:


6. Now you should be able to look into AppFabric Dashboard and see your requests now. For views where only WCF service history is displayed you will still find the known error message, but it can be ignored, Dashboard will work as expected. For views with WF or WF and WCF the message will disappear and reporting will be shown:


Update: Cumulative Update 5 will fix this issue!

Popular posts from this blog

How to integrate AVM smart devices into HomeKit by using openHAB

After some evaluating openHAB (Vers. 2.2.0) on my NAS I wanted to do it right and started with this  (German) article to use openHABian together with a Raspberry Pi.My primary goal was to integrate my AVM smart home devices  to control them with HomeKit . To get started I used the following items: Raspberry PI SD Card 16 GB And the following software (I used a Mac, so you might need to replace some tools if you use another OS): Download the latest openHABian image here . This is a dedicated linux distribution to provide an openHAB server. Download SD Formatter here . Needed to format your SD card. Download Etcher here . Needed to install the openHABian image on the SD card. Installation openHABian Insert the SD card Connect the Raspberry Pi via LAN with your network Plugin the Raspberry Pi Wait about 45 minutes until all updates were installed When everything went well you should be able to connect to http://openhabianpi:8080 Connect via ssh: ssh openh...

Install and verify IIS HttpModules with custom config sections

A week ago I started to learn about HttpModules and HttpHandlers watching a pluralsight course by Robert Boedigheimer . First of all I want to really recommend this course, I learned a lot of stuff which I could not find in any other course, book or blog post. As I already did in the past with another course , I want to add some comments and extend the HttpModule part. I refer to the course example with the serverMaskModuleGAC. I walked into some trap doors and thereby I found another approach to simplify the installation process of the module to GAC a little bit. With this approach I am able to verify my custom config sections and module registration is correct. Here is my approach: 1. When you have finished your implementation for serverMaskModule, install it in the GAC as usual by using the gacutil tool. By the way, there are some traps when you need to install it on Windows Server 2012 . Here I am using Windows 8.1 64 Bit. I created my HttpModule with .NET 2.0 because it se...

How does AppFabric cache calculates the values for RequestCount, ReadRequestCount, WriteRequestCount and MissCount?

When I started to use the Get-CacheStatistics cmdlet to monitor caching activities more intensivley I was often confused. Here an example: Should not be ReadCount+WriteCount = RequestCount? Why is WriteRequestCount increasing +2 although I just send one put request? By talking to Microsoft support I figured out how AppFabric cache calculates its numbers (Thanks to Gayathri from Distributed Service Team). Number calculation behavior depends on your configuration, high availability and local cache have a major impact on it. Activity RequestCount  ReadRequestCount  WriteRequestCount  MissCount  DataCacheFactory is initialized and Named Cache is up  +1 - - - Put item, not yet in local and server cache +1 - +1 (+2 with HA) +1 Get item from local cache - - - - Get item from server cache, local cache has expired +1 +1 - - Get item, local and server cache has expired +1 +1 - +1 I hope this is helpful for you when you are analyzing the caching behavior f...