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:
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: