Tracing ASP.NET Provider on Windows Vista
Introduction
As many of you know, Windows Vista ships with our all-new Web Platform IIS7. I recently got an email from a customer who was struggling with getting a Failed Request Tracing rule setup on IIS7 on Vista Ultimate and asked the following question:
Hi,
I’m trying to configure a “Failing Request tracing Rule” on IIS 7 in Vista. During the Wizard, in the “Select Trace Provider” step, I see the following providers: asp, isapi Extensions, WWW Server, but I don’t see the ASP.NET provider. How can I install it?
Let's Review...
The first thing I do when not obvious is to ensure that someone has reviewed whatever documentation I know about on the topic. In this case, I pointed this customer to a couple of IIS.NET articles that discussed this feature and it's functionality.
Troubleshooting Failed Requests Tracing Using Failed Request Tracing in IIS7
How to capture ASP.NET Page Trace Events in Failure Request Tracing (i.e. logs)
Assuming that these have been reviewed, I move to the next step. I quickly realized that there is a difference between the feature as-is on IIS7 in Windows Vista & that on Windows Server code-named "Longhorn" by simplying reviewing the UI. In Windows Vista, you will notice the following User Interface in IIS Manager -
This, compared to other User Interfaces such as LHS, is odd as there is no ASP.NET -
Oh boy, now how the heck did that happen? Furthermore, what in the heck am I going to do to fix it?
Getting your ASP.NET Trace Provider Back
On some installations of Windows Vista, you might find yourself in this dilemma. If you do then I am not delivering any superman-like details but I do have a solution provided by our Tracing guru - Eric Deily. If you haven't already viewed his forum post then I recommend you do so because I am just blogging about it!
To workaround this issue and get the ASP.NET Trace Provider back, do the following in your favorite XML editor:
NOTE: Ensure that you are running elevated as an administrator and avoid the nasty User Account Control
- Ensure that you have ASP.NET & .NET Extensibility installed via Start - Control Panel - Programs - Turn Windows Features On or Off
- Open %windir%\system32\inetsrv\config\applicationHost.config
- Add the following to the <traceProviderDefinitions>
<traceProviderDefinitions>
…other providers defined…
<add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}">
<areas>
<add name="Infrastructure" value="1" />
<add name="Module" value="2" />
<add name="Page" value="4" />
<add name="AppServices" value="8" />
</areas>
</add>
</traceProviderDefinitions>
That's it. Basically, the IIS Manager builds it lists of providers from this section of the applicationHost.config thus meaning that once define then you will see the provider in the IIS Manager.
Summary
I will do my best in the future to blog more frequently and start to trim down the list of blog ideas. The downside to this is that it takes time, energy, and more importantly effort to maintain a blog. This blog is maintained as a "best effort" and by no means is my way to reach the world. Instead, I like traditional ways like email.