<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
	<title><![CDATA[Articles]]></title>
	<link><![CDATA[http://www.systemcentercentral.com/Articles/tabid/61/rss/1/tag/Articles%20Operations_Manager/Default.aspx]]></link>
	<description></description>
	<language>en-us</language>
	<copyright><![CDATA[Copyright 2009 System Center Central All Rights Reserved.]]></copyright>
	<lastBuildDate>Wed, 08 Feb 2012 03:07:51 GMT</lastBuildDate>
		<item>
			<title><![CDATA[Articles: Tech Ed 2011 System Center Operations Manager 2012]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=90849]]></link>
			<description><![CDATA[System Center Operations Manager 2012<br />
<br />
- Overview<br />
<a href="http://youtu.be/6XAIQhTDdqQ">http://youtu.be/6XAIQhTDdqQ</a><br />
<br />
- Setup and Config<br />
<a href="http://youtu.be/6WOLBNk6Rxo">http://youtu.be/6WOLBNk6Rxo</a><br />
<br />
- Network Monitoring<br />
<a href="http://youtu.be/Ffp-jWxi1oE">http://youtu.be/Ffp-jWxi1oE</a><br />
<br />
- Advanced Topics<br />
<a href="http://youtu.be/TUDf_NLMkBA">http://youtu.be/TUDf_NLMkBA</a>]]></description>
			<pubDate>Thu, 29 Dec 2011 10:39:21 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=90849</guid>
		</item>
		<item>
			<title><![CDATA[Articles: System Center Operations Manager u službi MSP-a]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=90780]]></link>
			<description><![CDATA[Power Point prezentacija koja detaljno objašnjava kako firma "2nd level" koristi System Center Operations Manager u slušbi Managed Service Provider-a<br />
 <br />
Jezik - Srpski/Hrvatski/Bosanski]]></description>
			<enclosure url="http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=90780" length="1254" type="application/vnd.ms-powerpoint"></enclosure>
			<pubDate>Fri, 23 Dec 2011 16:26:11 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=90780</guid>
		</item>
		<item>
			<title><![CDATA[Articles: System Center Operations Manager  2007/R2 Pregled]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=90779]]></link>
			<description><![CDATA[PowerPoint prezentacija koje nosi naziv "System Center Operations Manager  2007/R2 Pregled" <br />
Jezik - Srpski/Hrvatski/Bosanski]]></description>
			<enclosure url="http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=90779" length="1254" type=""></enclosure>
			<pubDate>Fri, 23 Dec 2011 16:18:29 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=90779</guid>
		</item>
		<item>
			<title><![CDATA[Articles: Deploying OpsMgr 2007 in Highly Available and Distributed Enterprise Environments]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=89005]]></link>
			<description><![CDATA[Andy Dominey's whitepaper providing guidance on planning for large, complex deployments of OpsMgr 2007]]></description>
			<enclosure url="http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=89005" length="1301" type="application/pdf"></enclosure>
			<pubDate>Sun, 04 Sep 2011 16:10:46 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=89005</guid>
		</item>
		<item>
			<title><![CDATA[Articles: Deploying OpsMgr in Highly Available and Distributed Enterprise Environments]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=89004]]></link>
			<description><![CDATA[Andy Dominey's white paper providing guidance on planning for large, complex deployments of OpsMgr 2007]]></description>
			<pubDate>Sun, 04 Sep 2011 16:03:47 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=89004</guid>
		</item>
		<item>
			<title><![CDATA[Articles: See Cross Platform Management Packs at MPWiki !]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;amp;IndexId=88889]]></link>
			<description><![CDATA[We uploaded Cross Platform Management Packs that provide both proactive and reactive monitoring of the UNIX and Linux operating systems at MPWiki!<br />
Enjoy the information: <a href="http://www.systemcentercentral.com/LinkClick.aspx?link=http%3a%2f%2fscommanagementpackwiki.viacode.com%2fdefault.aspx%3fg%3dposts%26amp%3bt%3d41755"></a><a href="http://scommanagementpackwiki.viacode.com/default.aspx?g=posts&t=41755">http://scommanagementpackwiki.viacode.com/default.aspx?g=posts&t=41755</a><br />
 Now you have detailed online documentation about management packs that enable  discovering, monitoring, and managing UNIX-based and Linux-based computers.]]></description>
			<pubDate>Thu, 01 Sep 2011 17:51:48 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;amp;amp;IndexId=88889</guid>
		</item>
		<item>
			<title><![CDATA[Articles: SCOM Password Reset - SQL 2008 R2 and SCOM 2007 R2 (Lab experiences) ]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=88483]]></link>
			<description><![CDATA[This Document describes steps i took to change the AA, SDK, DW and SRSS SCOM passwords. Please look it over, test it in your lab and comment on the value of the walkthrough. I must say the SRSS part got me stuck and took a couple DPM restores to get through it. I did not have any IIS instances as other walkthroughs suggested. I am running SQL 2008 R2 and SCOM 2007 R2.

Cheers!]]></description>
			<enclosure url="http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=88483" length="1301" type=""></enclosure>
			<pubDate>Wed, 03 Aug 2011 17:56:45 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=88483</guid>
		</item>
		<item>
			<title><![CDATA[Articles: SCOM SCVMM Report Headings throw error]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=87673]]></link>
			<description><![CDATA[Hi Guys,

Some help please.

When i pull scvmm reports in scom the report heading are all #error. I dont know whats going on.

does anyone have any odeas on how2 to fix this.

MD]]></description>
			<pubDate>Wed, 22 Jun 2011 12:44:51 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=87673</guid>
		</item>
		<item>
			<title><![CDATA[Articles: Monitor your network. Prevent network downtime and performance issues!]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=86996]]></link>
			<description><![CDATA[Nowadays network monitoring has become critical for any organization that wants to prevent problems before they surface. Modern network monitoring tools are advanced systems which continuously screen your network environment, traffic, availability, interface status etc. They make sure that whenever something goes awry, alerts are sent to those who are directly responsible for the issue. <br />
<br />
<a href="http://www.systemcentercentral.com/LinkClick.aspx?link=http%3a%2f%2fdownload.jalasoft.com%2fpub%2fOnlineArchives%2fJalasoft_Technical_Documents.pdf" target="_blank">For more info, feel free to view the entire article here!</a>]]></description>
			<enclosure url="http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=86996" length="1301" type="application/pdf"></enclosure>
			<pubDate>Thu, 19 May 2011 21:00:43 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=86996</guid>
		</item>
		<item>
			<title><![CDATA[Articles: NiCE BlackBerry MP for Microsoft SCOM]]></title>
			<link><![CDATA[http://www.nice.de/en/nice-products/nice-blackberry-mp-for-microsoft-scom]]></link>
			<description><![CDATA[Monitoring your Mission Critical Messaging Ecosystem
When using BlackBerry devices is key to your company´s messaging service, it is critical to provide both high availability concepts and professional monitoring. The BlackBerry ecosystem consists of a relatively large number of interconnected components. These include messaging servers like Microsoft Exchange or Lotus Notes, database and application servers. Even in smaller  environments you want to make sure all components and interconnections are in a healthy manner in order to ensure service levels.

BlackBerry Server Monitoring
The NiCE BlackBerry Management Pack (NiCE BlackBerry MP) continuously monitors the BlackBerry Enterprise Server, identifying server problems before they affect applications and end users, through the use of predefined event conditions and threshold monitors.

The NiCE BlackBerry MP was designed to increase the productivity of both the System Center Operations Manager administrator and operator, p]]></description>
			<enclosure url="http://www.nice.de/en/nice-products/nice-blackberry-mp-for-microsoft-scom" length="1301" type="application/pdf"></enclosure>
			<pubDate>Mon, 16 May 2011 13:27:19 GMT</pubDate>
			<guid>http://www.nice.de/en/nice-products/nice-blackberry-mp-for-microsoft-scom</guid>
		</item>
		<item>
			<title><![CDATA[Articles: Monitor Is Enabled Property for SQL Agent Jobs]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=86849]]></link>
			<description><![CDATA[Hi, I would like to monitor the Is Enabled Parameter on SQL Agent Jobs using a Timed Script Two State Monitor but need some assistance with the VBS scripting. Any help will be gladly appreciated as I'm still new to VBS. The native SQL Management Pack doesn't have any monitors that Alerts if there are any disabled sql agent jobs on SQL Servers.<br />
<br />
Thanks<br />
Kind Regards<br />]]></description>
			<pubDate>Wed, 11 May 2011 11:01:06 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=86849</guid>
		</item>
		<item>
			<title><![CDATA[Articles: Monitoring BSD with SCOM - notes from the field]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=86237]]></link>
			<description><![CDATA[<p style="text-align: left;"> </p>]]></description>
			<pubDate>Tue, 12 Apr 2011 15:34:33 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=86237</guid>
		</item>
		<item>
			<title><![CDATA[Articles: Monitoring BSD with SCOM - Notes from the field]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=86235]]></link>
			<description><![CDATA[Monitoring FreeBSD from SCOM.]]></description>
			<enclosure url="http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=86235" length="1301" type=""></enclosure>
			<pubDate>Tue, 12 Apr 2011 14:32:32 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=86235</guid>
		</item>
		<item>
			<title><![CDATA[Articles: Monitor ANY network device in Ops Mgr with Xian Network Manager]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=86202]]></link>
			<description><![CDATA[<p style="text-align: justify;">Jalasoft’s Xian Network Manager allows you to easily monitor any network device that supports SNMP, due to the fact that it offers several out of the box rules that monitor the health and performance of most of the main components of such devices. </p>
<p style="text-align: justify;">However, you may require the monitoring of other components or counters that are not covered by these default rules; for this purpose, you can now quickly perform this operation by adding any custom rule to Xian Network Manager. </p>
<p style="text-align: justify;">We are going to add a custom rule to monitor CPU load on an HP switch as an example. These would be the detailed steps needed to add a custom rule:<br />
<br />
<a href="http://www.systemcentercentral.com/LinkClick.aspx?link=http%3a%2f%2fdownload.jalasoft.com%2fpub%2fOnlineArchives%2fCustom_SNMP_Pulling_Monitoring.pdf">Read the entire article here</a></p>]]></description>
			<enclosure url="http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=86202" length="1301" type="application/pdf"></enclosure>
			<pubDate>Mon, 11 Apr 2011 19:02:11 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=86202</guid>
		</item>
		<item>
			<title><![CDATA[Articles: Setting up thresholds automatically]]></title>
			<link><![CDATA[http://download.jalasoft.com/pub/OnlineArchives/Automatic_threshold_Final.pdf]]></link>
			<description><![CDATA[Optimal thresholds are calculated automatically based on the devices behavior through Xian Network Manager for Operations Manager.<br />
<br />
<a href="http://www.systemcentercentral.com/LinkClick.aspx?link=http%3a%2f%2fdownload.jalasoft.com%2fpub%2fOnlineArchives%2fAutomatic_threshold_Final.pdf">View more</a>]]></description>
			<enclosure url="http://download.jalasoft.com/pub/OnlineArchives/Automatic_threshold_Final.pdf" length="1301" type="application/pdf"></enclosure>
			<pubDate>Thu, 07 Apr 2011 18:24:43 GMT</pubDate>
			<guid>http://download.jalasoft.com/pub/OnlineArchives/Automatic_threshold_Final.pdf</guid>
		</item>
		<item>
			<title><![CDATA[Articles: Create Test Cas User Script on every Mailbox Server ... but why?]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=84875]]></link>
			<description><![CDATA[<p>Hallo @ all,<br />
<br />
I’m just wondering why the new-testcasconnectivityuser.ps1 has to be run on every Mailbox Server. If I check the script, there are the lines:<br />
<br />
#<br />
# Create the CAS probing user with UPN. The user will be searched for by the probing using UPN. Note that this task must be run on<br />
# every mailbox server.<br />
#<br />
$adSiteGuidLeft13 = $exchangeServer.Site.ObjectGuid.ToString().Replace("-","").Substring(0, 13);<br />
$UserName = "extest_" + $adSiteGuidLeft13;<br />
$SamAccountName = "extest_" + $adSiteGuidLeft13;<br />
$UserPrincipalName = $SamAccountName + "@" + $exchangeserver.Domain<br />
<br />
If I run this script on every Mailboxserver in one Site, I will always get the same Site Guid -> the same username will be generated and the script will end with the failure, user already exists.</p>
Is there a failure at the dokumentation or am I wrong?<br />
<br />
Best Regards,<br />
quadcore<br />]]></description>
			<pubDate>Wed, 02 Mar 2011 15:40:36 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=84875</guid>
		</item>
		<item>
			<title><![CDATA[Articles: AVIcode 5.7: .NET Management Pack, Part 1]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=83687]]></link>
			<description><![CDATA[<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">From a certain standpoint, AVIcode Management Pack for .NET is quite a unique beast among other management packs because it pushes the boundaries of what a management pack is  supposed to do. Monitoring is still the main purpose of this management pack, but it also incorporates such features as centralized management and deployment which you will rarely find in other management packs.</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">That is good and bad at the same time. It gives the users more control over what’s going on in the management group, and that’s definitely good. However, this sort of management pack behaviour is unexpected by both end users and SCOM itself, so that creates a couple of problems:</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">- Management pack usability<br />
- Management pack reliability</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">Usability problem is not so much a problem of the management pack as it is a problem of what users expect from the management packs. Usually, initial management pack configuration comes down to defining the groups and overrides. However, those changes are mostly supposed to enable monitoring rather than to deploy/configure some underlying components.</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">In case with .NET management pack, the things are different. You’ll see it right away when you decide to install the management pack. There is simply no “MP”/”XML” file in the installation package. However, there is an MSI. Sounds like a heresy, right?</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">However, it’s not because AVIcode does not know how to install MP files properly. It is simply because this management pack is more than a management pack. The MSI file you get there contains other components of .NET monitoring solution provided by AVIcode, and that includes Intercept Agent and SEViewer at the very least. All those components are integrated with the management pack, so the purpose of that MSI is to ensure that, from the integration standpoint, all the required steps are done properly during the installation(rather than they are left to the end user). On top of that, MSI will install a few utilities to let some of the MP tasks work correctly.</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">That’s not all, though. Once you have installed the management pack, it will not start monitoring .NET applications for you right away. Yes, it will start discovering .NET applications, but discovery itself does not provide the value. What you’ll have to do after that is to configure the templates. Following that, the management pack will go ahead and deploy required portions of the monitoring solution on the SCOM agents, and, only after that, you’ll start getting some data in the Operations Console.</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">Did you notice that I mentioned automatic deployment above? If it happened to slip through the net of your attention because of all the other stuff, let me stress it out once again. Unlike most of the other management packs, this one is closely integrated with the underlying .NET monitoring components from AVIcode. In particular, it is designed to deploy those components on the monitored servers transparently for the end users.</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">Here comes the first problem. SCOM does not provide out of the box mechanisms to implement that kind of functionality, so it has to be done through the use of some extensions. In this particular case, vbs scripts are utilized. In a nutshell, .NET management pack utilizes http/https to download required components from the SEViewer server(and that’s part of AVIcode Intercept Studio that gets installed with the management pack). As I wrote, it is done through the use of vbs scripts.</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">That’s, probably, one of the first problems you will see if you decide to install the management pack. In fact, you just need to keep that background processing in mind when working with this MP. In particular, if there is no HTTP(s) link between SCOM agent and SEViewer server, you will not be able to use the MP. Neither you’ll be able to use it if you do not specify correct SEViewer location while installing the management pack(or after that, through the use of overrides).</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">This behaviour can be totally unexpected by some SCOM users, and, as no one reads the manuals, that may lead to the usability problems. At the same time, that brings up a question about management pack reliability because of the potential HTTP connectivity issues.</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">If and when everything is properly configured, though, this management pack can do wonders. Normally, you have to install AVIcode Agent manually on the servers to be monitored. You don’t have to worry about it once the management pack is there – just add your server to the required .NET groups, and that’s all that is needed. .NET Management Pack will take care of AVIcode Agent deployment and/or configuration after that.</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">I almost hate to say that, but, in case with this management pack, make sure to read the manuals. You will find more than you can expect from the management pack – make sure you know what to expect.</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">“Step by step” follows in Part 2.</p>]]></description>
			<pubDate>Tue, 04 Jan 2011 22:35:08 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=83687</guid>
		</item>
		<item>
			<title><![CDATA[Articles: AVIcode 5.7:  Custom Actions and Statistic Counters, Part 1]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=83654]]></link>
			<description><![CDATA[<div style="color: #444444; line-height: 18px; background-color: #ffffff; font-size: 12px; font: normal normal normal 13px/19px georgia, 'times new roman', 'bitstream charter', times, serif; padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; max-width: 640px; font-family: georgia, 'bitstream charter', serif;">
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">AVIcode provides a mechanism to run additional custom code when the application being monitored enters/leaves particular functions. The list of such functions can be defined in the configuration file, and the custom code to run can be compiled independently.</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">There are some limitations, of cause. First of all, the code is supposed to be implemented as a static method defined according to some rules. Also, the assembly containing that code is supposed to be deployed into the GAC.</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">This mechanism is called "Custom Actions".</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">There are two types of custom actions. SimpleSyncAction does not require AVIcode to collect any data, so SimpleSyncAction is faster and less resource consuming than a SyncAction. SyncAction, in turn, makes AVIcode collect application function call parameters and pass collected data to the SyncAction.</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">It may look confusing so far, but it comes down to this:</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">1. You can instruct AVIcode to call additional static methods when the application being monitored enters/leaves specific application functions</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">2. In order to do that, you need to come up with the assembly that will implement those methods,  and you need to create two configuration files:</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">- <ActionName>.instrument.config<br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
- Optional: <ActionName>.action.config</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">The first file is where most of the magic really is. That file defines which application functions to instrument with your custom actions, and it also defines which custom actions will be triggered when/if the application does something. Here is an example of the "instrument.config" file:</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;"><?xml version="1.0" encoding="utf-16"?><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
<ss:configuration xmlns="http://AVICode.com/Intercept/MonitorConfig" xmlns:ss="http://AVICode.com/Intercept/MonitorConfig"><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
<ss:applicationSetting><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
<ss:instrumentationAssemblies><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
<ss:instrumentationAssembly name="CustomActionTest" keyToken="aa075fad33dac208" version="1.0.0.0" locale="Neutral" /><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
</ss:instrumentationAssemblies><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
<ss:actions><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
<ss:action assembly="CustomActionTest" class="TreeCatSoftware.GotchaHunter.CustomActionTest.ActionTest" method="SyncAction" /><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
<ss:action name="SimpleSyncAction" assembly="CustomActionTest" class="TreeCatSoftware.GotchaHunter.CustomActionTest.ActionTest" method=" SimpleSyncAction" /><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
</ss:actions><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
<ss:applications><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
<ss:application displayName="Web Applications" enable="true"><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
<ss:functions><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
<ss:function name="System.Web.UI.Page.ProcessRequest" module="System.Web.dll"><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
<ss:action name="SyncActionTest" position="postfix"/><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
<ss:action name="SimpleSyncAction" position="prefix"/><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
</ss:function><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
</ss:functions><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
</ss:application><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
</ss:applications><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
</ss:applicationSetting><br style="color: #444444; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;" />
</ss:configuration></p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">Basically, this configuration file defines custom actions assembly name, and it also defines which application function will be instrumented with which custom actions.</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">Note: it is important to make sure that the methods you are using to implement custom actions always have the same predefined names: SimpleSyncAction and SyncAction. AVICode will not be able to use your custom actions otherwise.</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;"></p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">Take a look at the definition of custom action methods:</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">public static void SyncAction(object[] args, object prefixParams, object postfixParams, object entryPointGUID, Int32 executionTime, object exception, Int32 functionID)</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">public static void SimpleSyncAction(object[] args, object entryPointGUID, Int32 executionTime, object exception, Int32 functionID)</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">As you can see, the only difference between SimpleSyncAction and SyncAction is that prefix/postfix parameters are not passed to simple actions. In many cases, that's not even required. All the parameters(+ "this" pointer) of the instrumented method will still be passed to both types of custom actions through the "args" array. However, AVIcode allows to define custom data collection rules, and prefix/postfix parameters will be formed according to those rules.</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">Here is a zip file that you can download to try custom actions for yourself:</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;"><a title="AVIcode Custom Actions Step 1" href="http://gotchahunter.net/data/samples/AVIcodeCustomActions/Step1/CustomActionTestStep1.zip" mce_href="http://gotchahunter.net/data/samples/AVIcodeCustomActions/Step1/CustomActionTestStep1.zip" target="_blank" style="color: #0066cc; line-height: 1.5; font-family: georgia, 'bitstream charter', serif;">AVIcode Custom Actions Step 1</a></p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">There is a VS 2008 solution file for the custom action, and there is a configuration file that should be uploaded to the AVIcode agent configuration folder:</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">\Program Files\AVIcode\Intercept\Agent\v5.7.491\Configuration\Standard</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">Please note that if your version of AVIcode is different from 5.7.491, you may have to adjust version numbers in the path above and in the configuration file.</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">Once you compile the solution, you'll get a CustomActionTest.dll assembly that should be deployed into the GAC on the agent server.</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">You may also have to create a log file on the C drive: "data_dump.txt". Make sure IIS application pool accounts can write to that file.</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">Follow these steps to test your custom action after that:</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">- Enable monitoring of all web applications in the Intercept MMC console</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">- Restart IIS</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">- Open any ASP.NET web page from your server</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">- Open the log file ("c:\data_dump.txt") and see the results. For every page load you'll see a couple of lines in that file. That's not so much, but the idea was to illustrate how it works and to come up with a working example</p>
<p style="color: #444444; line-height: 1.5; font-size: 16px; margin-bottom: 24px; font-family: georgia, 'bitstream charter', serif;">In the next part, we'll see how AVIcode uses Custom Actions to implement .NET statistic counters and what you can do with the Statistic Counters independently/through the management pack. After that, we'll take a look at the data collection rules (in general and being applied to the custom actions).</p>
</div>]]></description>
			<pubDate>Mon, 03 Jan 2011 22:24:34 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=83654</guid>
		</item>
		<item>
			<title><![CDATA[Articles: AVIcode 5.7: Capturing .NET exceptions in the operations mode, Part 3]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/Default.aspx?tabid=147&IndexId=83522]]></link>
			<description><![CDATA[<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">When collecting data about .NET exceptions, AVIcode utilizes the notion of exception handlers. Basically, exception handler is a method that gets called when an exception occurs.</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">Remember that AVIcode splits exceptions into two categories: “critical” exceptions and “all” exceptions. .NET exceptions are always handled, this way or another. They can be handled by the application, or they can be handled by the framework. In fact, “Critical” exceptions are those which are handled by the framework rather than by the application itself. AVIcode considers an exception to be critical if that exception is handled by a pre-configured exception handler.</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">Take a look at the picture again:</p>
<div id="attachment_116" class="wp-caption alignnone" style="border:0px;background-color: #f1f1f1;       margin-top: 0px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: baseline; line-height: 18px; text-align: center; width: 310px;"><a href="http://gotchahunter.net/wp-content/uploads/2010/12/buggy_code1.jpg" style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; color: #0066cc;"><img class="size-medium wp-image-116" title="Exception Handler" src="http://gotchahunter.net/wp-content/uploads/2010/12/buggy_code1-300x272.jpg" alt="Exception Handler" width="300" height="272" style="background-color: transparent; border-style: initial; border-color: initial; margin-top: 5px; margin-right: 5px; margin-bottom: 0px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;     border-width: initial; border-color: initial; height: auto; max-width: 640px; width: auto;border-style: none;" /></a>
<p class="wp-caption-text" style="border:0px;background-color: transparent;       margin-top: 5px; margin-right: 5px; margin-bottom: 5px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; color: #888888; font-size: 12px; font-family: 'helvetica neue', arial, helvetica, 'nimbus sans l', sans-serif;">Exception Handler</p>
</div>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">There is a method called “ExceptionHandler”, and it gets called from the catch block. The name is not really important, but what’s important is that when this method gets called, there is still some .NET exception on the stack.</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">There are methods like this in the .NET framework, but every application can introduce additional methods of this kind. Here are a few examples of the framework methods:</p>
<ul style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; list-style-type: square; list-style-position: initial; list-style-image: initial;">
    <li style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">System.Web.UI.Page.HandleError</li>
    <li style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">System.Windows.Forms.DataGridView.OnDataError</li>
    <li style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">System.AppDomain.OnUnhandledExceptionEvent</li>
</ul>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">When one of those methods is called in response to an exception , AVIcode believes a critical exception has occurred, and critical exceptions are always captured.</p>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">So, here is how you can use it. If there is an exception that can be raised by your application, and that exception is handled by the application, you can make such an exception “critical” from AVIcode standpoint by introducing an exception handler method and by adding that method to the list of exception handlers recognized by AVIcode:</p>
<div id="attachment_119" class="wp-caption alignnone" style="border:0px;background-color: #f1f1f1;       margin-top: 0px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: baseline; line-height: 18px; text-align: center; width: 246px;"><a href="http://gotchahunter.net/wp-content/uploads/2010/12/MMC_exception_handler.jpg" style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; color: #0066cc;"><img class="size-medium wp-image-119" title="Exception Hanlders button" src="http://gotchahunter.net/wp-content/uploads/2010/12/MMC_exception_handler-236x300.jpg" alt="Exception Hanlders button" width="236" height="300" style="background-color: transparent; border-style: initial; border-color: initial; margin-top: 5px; margin-right: 5px; margin-bottom: 0px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;     border-width: initial; border-color: initial; height: auto; max-width: 640px; width: auto;border-style: none;" /></a>
<p class="wp-caption-text" style="border:0px;background-color: transparent;       margin-top: 5px; margin-right: 5px; margin-bottom: 5px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; color: #888888; font-size: 12px; font-family: 'helvetica neue', arial, helvetica, 'nimbus sans l', sans-serif;">Exception Hanlders button</p>
</div>
<div id="attachment_120" class="wp-caption alignnone" style="border:0px;background-color: #f1f1f1;       margin-top: 0px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: baseline; line-height: 18px; text-align: center; width: 310px;"><a href="http://gotchahunter.net/wp-content/uploads/2010/12/exception_handler_config.jpg" style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; color: #0066cc;"><img class="size-medium wp-image-120" title="Exception Handler List" src="http://gotchahunter.net/wp-content/uploads/2010/12/exception_handler_config-300x157.jpg" alt="Exception Handler List" width="300" height="157" style="background-color: transparent; border-style: initial; border-color: initial; margin-top: 5px; margin-right: 5px; margin-bottom: 0px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;     border-width: initial; border-color: initial; height: auto; max-width: 640px; width: auto;border-style: none;" /></a>
<p class="wp-caption-text" style="border:0px;background-color: transparent;       margin-top: 5px; margin-right: 5px; margin-bottom: 5px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; color: #888888; font-size: 12px; font-family: 'helvetica neue', arial, helvetica, 'nimbus sans l', sans-serif;">Exception Handler List</p>
</div>
<p style="border:0px;background-color: transparent;       margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline;">Once you have done it, all such exceptions will be treated as “critical” exceptions by AVIcode.</p>]]></description>
			<pubDate>Tue, 28 Dec 2010 05:08:43 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/Default.aspx?tabid=147&amp;IndexId=83522</guid>
		</item>
		<item>
			<title><![CDATA[Articles: AVIcode 5.7: Capturing .NET exceptions in the operations mode, Part 2]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/tabid/147/IndexId/83505/Default.aspx]]></link>
			<description><![CDATA[<p> <span class="Apple-style-span" style="font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; color: rgb(51, 51, 51); line-height: 24px; ">Here is an example of .NET exception:</span></p>
<p> </p>
<p><span class="Apple-style-span" style="font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; color: rgb(51, 51, 51); line-height: 24px; ">
<div id="attachment_94" class="wp-caption alignnone" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(241, 241, 241); border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: baseline; line-height: 18px; text-align: center; width: 310px; background-position: initial initial; background-repeat: initial initial; "><a href="http://gotchahunter.net/wp-content/uploads/2010/12/buggy_code.jpg" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; color: rgb(0, 102, 204); background-position: initial initial; background-repeat: initial initial; "><img src="http://gotchahunter.net/wp-content/uploads/2010/12/buggy_code-300x272.jpg" alt="Buggy Code" title="Buggy Code" class="size-medium wp-image-94" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 5px; margin-right: 5px; margin-bottom: 0px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; height: auto; max-width: 640px; width: auto; background-position: initial initial; background-repeat: initial initial; " /></a>
<p class="wp-caption-text" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 5px; margin-right: 5px; margin-bottom: 5px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; font-family: 'Helvetica Neue', Arial, Helvetica, 'Nimbus Sans L', sans-serif; color: rgb(136, 136, 136); font-size: 12px; background-position: initial initial; background-repeat: initial initial; ">Buggy Code</p>
</div>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">Assume that somewhere else your application makes a call to the EntryMethod. “WE HAVE A FAILURE!!” exception will be handled inside that method, so, if that’s the only method that is instrumented for exception monitoring by AVIcode, the exception will never be caught by AVIcode.</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">Basically, the same logic applies to some other situations. For example, you might have a method that raises an exception and handles it right away.</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">There is, also, another reason why some exceptions will not be captured. In the example above, “WE HAVE A FAILURE!!” exception is handled inside “EntryMethod”. For AVIcode that means that there is a handled exception, and such exceptions will be captured(assuming everything is instrumented properly) only when “all exceptions” option is selected in the Intercept MMC Console:</p>
<div id="attachment_95" class="wp-caption alignnone" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(241, 241, 241); border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: baseline; line-height: 18px; text-align: center; width: 246px; background-position: initial initial; background-repeat: initial initial; "><a href="http://gotchahunter.net/wp-content/uploads/2010/12/all_exceptions_setting.jpg" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; color: rgb(0, 102, 204); background-position: initial initial; background-repeat: initial initial; "><img src="http://gotchahunter.net/wp-content/uploads/2010/12/all_exceptions_setting-236x300.jpg" alt="Choosing the Exception Type" title="Choosing the Exception Type" class="size-medium wp-image-95" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 5px; margin-right: 5px; margin-bottom: 0px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; height: auto; max-width: 640px; width: auto; background-position: initial initial; background-repeat: initial initial; " /></a>
<p class="wp-caption-text" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 5px; margin-right: 5px; margin-bottom: 5px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; font-family: 'Helvetica Neue', Arial, Helvetica, 'Nimbus Sans L', sans-serif; color: rgb(136, 136, 136); font-size: 12px; background-position: initial initial; background-repeat: initial initial; ">Choosing the Exception Type</p>
</div>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">Otherwise, only those exceptions which are not handled by the application will be captured by AVIcode.</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">So, there are 2 main scenarios when you may not see an exception in AVIcode:</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">1. You have not configured instrumentation properly. Go to the Intercept MMC console->"monitored functions" and make sure you have all the required functions/namespaces. The main idea is that your application exception has to pass through AVIcode try-catch in order to be captured.<br />
2. There is a handled exception, and you have configured AVIcode to capture “critical” exceptions only. In this scenario, you may have to re-configure AVIcode to start capturing all exceptions instead.</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; "><em>Note: you can intentionally disable data collection for some exception classes – more on that later.</em></p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">The question is: what can you do if there is an exception that never leaves the method where it happens? You can't instrument such method properly. Also, is there a way to capture a handled exception if you don’t really want to start capturing all handled exceptions?</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">There is a solution, and it is called “exception handlers”. I’ll talk about that solution in part 3.</p>
</span></p>]]></description>
			<pubDate>Thu, 23 Dec 2010 23:28:46 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/tabid/147/IndexId/83505/Default.aspx</guid>
		</item>
		<item>
			<title><![CDATA[Articles: AVIcode 5.7: Capturing .NET exceptions in the operations mode, Part 1]]></title>
			<link><![CDATA[http://www.systemcentercentral.com/tabid/147/IndexId/83484/Default.aspx]]></link>
			<description><![CDATA[<p> <span class="Apple-style-span" style="font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; color: rgb(51, 51, 51); line-height: 24px; ">Remember what operations mode is all about? It’s a profiler. What it means is that operations mode relies on profiling API, and that API does not notify profiler about application exceptions. If it did, it would be a debugging API.
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">Earlier versions of AVIcode could run in the “exception diagnostic mode” that utilized debugging API, but that mode is no longer supported in 5.7. Hence, it is important to understand specifics of exception monitoring in the operations mode.</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">Profiling API allows .NET profilers to instrument custom applications. So, here is how it works in the operations mode:</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">- AVIcode agent adds additional “try-catch” blocks as needed<br />
- AVIcode agent collects exception details inside those “try-catch” blocks and re-throws the exception</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">What’s important is that those functions have to be instrumented in order to let AVIcode agent collect the following information:</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">- Function parameters<br />
- Exception itself (there should be some point where AVIcode Agent gets notified about the exception. If there is an exception that is handled by the application and that does not get into one of those additional try-catches, such an exception will not be captured at all)</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">It looks simple, but there are some limitations.</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">First of all, AVIcode agent is supposed to run in the production environments. Meaning that it is not expected to introduce noticeable performance overhead at the very least. That goal is achieved by reducing instrumentation coverage – only the most important/well known functions are instrumented out of the box. It is more than likely that custom functions will not be instrumented by default unless AVIcode agent is instructed to do so. If the function is not instrumented, there is no additional “try-catch” block, and your exception may not be reported (depending on whether it will eventually pass through one of the instrumented functions or not).</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">In order to instrument additional functions(for exception monitoring), do this:</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">- Open Intercept MMC Console<br />
- Go to the properties of your application<br />
- Switch to the “Monitoring Settings” tab<br />
- Click “Monitored Functions” button and add functions/namespaces as needed</p>
<div id="attachment_85" class="wp-caption alignnone" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(241, 241, 241); border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: baseline; line-height: 18px; text-align: center; width: 246px; background-position: initial initial; background-repeat: initial initial; "><a href="http://gotchahunter.net/wp-content/uploads/2010/12/avicode_exception_monitoring.jpg" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; color: rgb(0, 102, 204); background-position: initial initial; background-repeat: initial initial; "><img src="http://gotchahunter.net/wp-content/uploads/2010/12/avicode_exception_monitoring-236x300.jpg" alt="" title="AVIcode exception monitoring" class="size-medium wp-image-85" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 5px; margin-right: 5px; margin-bottom: 0px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; height: auto; max-width: 640px; width: auto; background-position: initial initial; background-repeat: initial initial; " /></a>
<p class="wp-caption-text" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 5px; margin-right: 5px; margin-bottom: 5px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; font-family: 'Helvetica Neue', Arial, Helvetica, 'Nimbus Sans L', sans-serif; color: rgb(136, 136, 136); font-size: 12px; background-position: initial initial; background-repeat: initial initial; ">AVIcode exception monitoring</p>
</div>
<br />
<div id="attachment_87" class="wp-caption alignnone" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(241, 241, 241); border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: baseline; line-height: 18px; text-align: center; width: 310px; background-position: initial initial; background-repeat: initial initial; "><a href="http://gotchahunter.net/wp-content/uploads/2010/12/avicode_exception_monitoring_namespaces.jpg" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; color: rgb(0, 102, 204); background-position: initial initial; background-repeat: initial initial; "><img src="http://gotchahunter.net/wp-content/uploads/2010/12/avicode_exception_monitoring_namespaces-300x158.jpg" alt="AVIcode exception monitoring - adding namespaces" title="AVIcode exception monitoring - adding namespaces" class="size-medium wp-image-87" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 5px; margin-right: 5px; margin-bottom: 0px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; height: auto; max-width: 640px; width: auto; background-position: initial initial; background-repeat: initial initial; " /></a>
<p class="wp-caption-text" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 5px; margin-right: 5px; margin-bottom: 5px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; font-family: 'Helvetica Neue', Arial, Helvetica, 'Nimbus Sans L', sans-serif; color: rgb(136, 136, 136); font-size: 12px; background-position: initial initial; background-repeat: initial initial; ">AVIcode exception monitoring - adding namespaces</p>
</div>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">Here is a hint: to start with, you can add “all namespaces”. That option will add “all namespaces” except those which are disabled. Usually it means that all custom namespaces will be added to monitoring. Keep in mind that “Microsoft” and “System” namespaces are disabled out of the box, and that means that all child namespaces are disabled, too (such as Microsoft.SharePoint, for instance). It is not recommended to enable top level “Microsoft” and “System” namespaces. Instead, you can enable some of the child namespaces by following the procedure above.</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">Once all the required functions/namespaces are added to the configuration, the only other thing to do is to make sure you have chosen correct exception type for your application in the Intercept MMC. AVIcode agent can monitor all exceptions or critical exceptions. Here is the difference:</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">- Most of the times, critical exceptions are those that are not handled in your own try-catch blocks. They can be handled by the framework, though. There is also an option to instruct AVIcode agent to treat handled exception as a critical one. More on that later.<br />
- “All exceptions” option is self-describing. That’s just all exceptions(critical and not critical).</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">What’s next:</p>
<p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial; ">1. Special cases – exceptions that cannot be handled by AVIcode<br />
2. Making your “handled” exception look like a critical one from AVIcode standpoint</p>
</span></p>]]></description>
			<pubDate>Wed, 22 Dec 2010 18:05:48 GMT</pubDate>
			<guid>http://www.systemcentercentral.com/tabid/147/IndexId/83484/Default.aspx</guid>
		</item>
	</channel>
</rss>

