If you are trying to debug an IIS 7 hosted web application using Visual Studio and trying to use System.Diagnostics.Debug.Assert()/System.Diagnostics.Trace.Assert() in your code to launch a popup window it will not work. However you can write the output to a log file using the following:
<configuration> <system.diagnostics> <assert assertuienabled="true" logfilename="c:\\myFile.log" /> </system.diagnostics> </configuration>
<configuration>
<system.diagnostics>
<assert assertuienabled="true" logfilename="c:\\myFile.log" />
</system.diagnostics>
</configuration>
You can also get the output of Debug.Assert (..) in the Output window within Visual Studio. It will also be logged in the System event log. However, this seems to work with the earlier version of IIS, i.e. IIS 6.0 in the console session.
After going through various forums I see that developers do complain about this being a deprecated feature in IIS 7+ versions which hampers debugging.
However In my opinion it should *never* have worked in the first place for any service based application. ASP.Net application runs as a service on the server side and it should never launch an interactive window which might lead to the process getting into a hung state for all the clients. Lot of times developers miss deleting one of these entries from their code before moving it to the production environment and that leads to hang/frozen condition for the application for all the end users. This is not specific to IIS or ASP.Net in my opinion but manifestation of a feature from Vista onwards at the OS level. Session 0 isolation in Vista onwards prevents services from interacting with user sessions in the way it was possible in the previous versions of Windows like Windows Server 2003.
http://www.microsoft.com/whdc/system/sysinternals/Session0Changes.mspx
http://channel9.msdn.com/posts/Charles/Session-0-Changes-and-Vista-Compatibility-for-Services-running-as-Interactive-with-Desktop/
Important All services run in Terminal Services session 0 from Vista onwards. Therefore, if an interactive service displays a user interface, it is visible only to the user who is connected to session 0. Applications running in other sessions cannot access Session 0 GUIs. Because there is no way to guarantee that the interactive user is connected to session 0, do not configure a service to run as an interactive service under Terminal Services or on a system that supports fast user switching.
HTH
Saurabh
As per the excerpt in the link below:
Professional Advisory Services is an hourly, fee-based, consultative support option that provides proactive support beyond break-fix product support needs. Typical Advisory Services cases involve providing recommendations or best practices to solve problems leveraging Microsoft Products and Technologies. These scenarios include topics such as migration, product customization, performance degradation analysis, deployment training, scaling infrastructure, server recovery, optimization, supportability, risk analysis, root cause analysis, extensibility, architecture, and knowledge transfer.
If you are a Developer/Administrator and looking for consulting/advisory services from Microsoft here is the link you can follow and see what all products/technologies are covered and other details.
http://support.microsoft.com/gp/advisoryservice#tab7
We are recently seeing lot many support cases coming our way. If you are seeing the following after installing the Microsoft update KB 982666 on a Windows Server 2003 machine:
Event Type: Warning Event Source: W3SVC Event Category: None Event ID: 1009 Date: 12/9/2009 Time: 10:55:01 AM User: N/A Computer: WEBSERVER01 Description: A process serving application pool 'DefaultAppPool' terminated unexpectedly. The process id was '1234'. The process exit code was '0xffffffff'.
Please go ahead and reapply Windows Server 2003 Service Pack 2 to resolve this issue.
For more details visit the following link.