Monitoring a domain service with Windows Server AppFabric dashboard
At Teched 2010, we announced the RTM of Windows Server AppFabric. I am sure most of you are wondering what Windows Server AppFabric is?
So, What is Windows Server AppFabric?
Windows Server AppFabric is a set of integrated technologies that make it easier to build, scale and manage Web and composite applications that run on IIS. You can install and read more about it here. Also, check out the white paper located here. One of the component that Windows Server AppFabric provides is the monitoring AppFabric dashboard in IIS.
The app fabric dashboards lets you monitor any .NET 4 WCF an WF services with monitoring enabled. As you are all aware that a Domain Service is a WCF service and one of the things we enabled in our RTM build was to enable monitoring for the DomainService. However, this will only work when the web application is hosted in full trust.
Check out this episode on EndPoint.tv for more deatils
How do we enable AppFabric monitoring for a DomainService?
Enabling AppFabric monitoring for a domain service is very easy. Here is what you would need to do:-
- Create a new RIA Services project
- Go to the web project and right click to go to properties
- Go to the web node and select Use Local IIS Server.
- Once that is done and your application is configured and running properly, go to the web.config file and add the following entries. One for each DomainService exposed.
1: <system.serviceModel> 2: 3: <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"> 4: 5: <serviceActivations> 6: <add service="MSTravel.Web.Services.TailSpinTravelService" factory="System.ServiceModel.DomainServices.Hosting.DomainServiceHostFactory, System.ServiceModel.DomainServices.Hosting, Version=188.8.131.52, Culture=neutral, PublicKeyToken=31bf3856ad364e35" relativeAddress="~/Services/MSTravel-Web-Services-TailSpinTravelService.svc" /> 7: <add service="MSTravel.Web.AuthenticationService" factory="System.ServiceModel.DomainServices.Hosting.DomainServiceHostFactory, System.ServiceModel.DomainServices.Hosting, Version=184.108.40.206, Culture=neutral, PublicKeyToken=31bf3856ad364e35" relativeAddress="~/Services/MSTravel-Web-AuthenticationService.svc" /> 8: <add service="MSTravel.Web.UserRegistrationService" factory="System.ServiceModel.DomainServices.Hosting.DomainServiceHostFactory, System.ServiceModel.DomainServices.Hosting, Version=220.127.116.11, Culture=neutral, PublicKeyToken=31bf3856ad364e35" relativeAddress="~/Services/MSTravel-Web-UserRegistrationService.svc" /> 9: </serviceActivations> 10: 11: </serviceHostingEnvironment> 12: 13: </system.serviceModel>
- All that we are doing above is to add the activation for SVC less WCF Service.
- Save the web config and compile and run the application
- Now go to the IIS and browse to your Virtual Directory and you will notice the AppFabric DashBoard.
- Double click on the AppFabric Dashboard and you will get all the monitoring information you need.
You can use the AppFabric dashboard to monitor and track the usage of your DomainService. As you can see it gives you all the error and completed tracked events.
Cheers and Enjoy!!