<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Scott's Breeze Blog - RFID, BizTalk </title>
    <link>http://blogs.breeze.net/scotts/</link>
    <description>...and everything in between</description>
    <language>en-us</language>
    <copyright>Breeze Training</copyright>
    <lastBuildDate>Fri, 30 Jul 2010 06:41:06 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>scotts@breezetraining.com.au</managingEditor>
    <webMaster>scotts@breezetraining.com.au</webMaster>
    <item>
      <trackback:ping>http://blogs.breeze.net/scotts/Trackback.aspx?guid=07761fe5-6f2e-4065-ae87-66bd77d6e6d3</trackback:ping>
      <pingback:server>http://blogs.breeze.net/scotts/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/scotts/PermaLink,guid,07761fe5-6f2e-4065-ae87-66bd77d6e6d3.aspx</pingback:target>
      <dc:creator>Scott Scovell</dc:creator>
      <wfw:comment>http://blogs.breeze.net/scotts/CommentView,guid,07761fe5-6f2e-4065-ae87-66bd77d6e6d3.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/scotts/SyndicationService.asmx/GetEntryCommentsRss?guid=07761fe5-6f2e-4065-ae87-66bd77d6e6d3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/CWindowsSystem32AppFabricfoldernotfoundf_E9C5/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/CWindowsSystem32AppFabricfoldernotfoundf_E9C5/image_thumb.png" width="404" height="332" />
          </a>
        </p>
        <p>
Hold the phone!. Didn't I just pull that folder up in Explorer <img alt="smile_sniff" src="http://spaces.live.com/rte/emoticons/smile_sniff.gif" /></p>
        <p>
          <a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/CWindowsSystem32AppFabricfoldernotfoundf_E9C5/image_4.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/CWindowsSystem32AppFabricfoldernotfoundf_E9C5/image_thumb_1.png" width="404" height="199" />
          </a> 
</p>
        <p>
Ah…good old File System Redirector. Turns out that on x64 machine’s this folder is
located here
</p>
        <div class="csharpcode">
          <pre class="alt">C:\Windows\SysNative\AppFabric</pre>
        </div>
        <p>
          <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        </p>
        <p>
We can browse to this location when adding references to the Windows Server AppFabric
assemblies to our VS 2010 projects.
</p>
        <p>
          <a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/CWindowsSystem32AppFabricfoldernotfoundf_E9C5/image_6.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/CWindowsSystem32AppFabricfoldernotfoundf_E9C5/image_thumb_2.png" width="404" height="329" />
          </a>
        </p>
        <p>
All is well again in the universe
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=07761fe5-6f2e-4065-ae87-66bd77d6e6d3" />
      </body>
      <title>C:\Windows\System32\AppFabric folder not found from VS 2010 Add Reference</title>
      <guid isPermaLink="false">http://blogs.breeze.net/scotts/PermaLink,guid,07761fe5-6f2e-4065-ae87-66bd77d6e6d3.aspx</guid>
      <link>http://blogs.breeze.net/scotts/2010/07/30/CWindowsSystem32AppFabricFolderNotFoundFromVS2010AddReference.aspx</link>
      <pubDate>Fri, 30 Jul 2010 06:41:06 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/CWindowsSystem32AppFabricfoldernotfoundf_E9C5/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/CWindowsSystem32AppFabricfoldernotfoundf_E9C5/image_thumb.png" width="404" height="332"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Hold the phone!. Didn't I just pull that folder up in Explorer &lt;img alt="smile_sniff" src="http://spaces.live.com/rte/emoticons/smile_sniff.gif"&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/CWindowsSystem32AppFabricfoldernotfoundf_E9C5/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/CWindowsSystem32AppFabricfoldernotfoundf_E9C5/image_thumb_1.png" width="404" height="199"&gt;&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Ah…good old File System Redirector. Turns out that on x64 machine’s this folder is
located here
&lt;/p&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;C:\Windows\SysNative\AppFabric&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/p&gt;
&lt;p&gt;
We can browse to this location when adding references to the Windows Server AppFabric
assemblies to our VS 2010 projects.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/CWindowsSystem32AppFabricfoldernotfoundf_E9C5/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/CWindowsSystem32AppFabricfoldernotfoundf_E9C5/image_thumb_2.png" width="404" height="329"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
All is well again in the universe
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=07761fe5-6f2e-4065-ae87-66bd77d6e6d3" /&gt;</description>
      <comments>http://blogs.breeze.net/scotts/CommentView,guid,07761fe5-6f2e-4065-ae87-66bd77d6e6d3.aspx</comments>
      <category>VS 2010</category>
      <category>Windows Server AppFabric</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/scotts/Trackback.aspx?guid=8eb45f26-df2c-47de-908b-cd5dbafc47e6</trackback:ping>
      <pingback:server>http://blogs.breeze.net/scotts/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/scotts/PermaLink,guid,8eb45f26-df2c-47de-908b-cd5dbafc47e6.aspx</pingback:target>
      <dc:creator>Scott Scovell</dc:creator>
      <wfw:comment>http://blogs.breeze.net/scotts/CommentView,guid,8eb45f26-df2c-47de-908b-cd5dbafc47e6.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/scotts/SyndicationService.asmx/GetEntryCommentsRss?guid=8eb45f26-df2c-47de-908b-cd5dbafc47e6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/TechEdAU2010MostlyHarmless_DC9E/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/TechEdAU2010MostlyHarmless_DC9E/image_thumb.png" width="857" height="295" />
          </a>
        </p>
        <p>
Of course the official site can be found here &gt; <a title="http://australia.msteched.com/" href="http://australia.msteched.com/">http://australia.msteched.com/</a></p>
        <img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=8eb45f26-df2c-47de-908b-cd5dbafc47e6" />
      </body>
      <title>Tech Ed AU 2010 – Mostly Harmless</title>
      <guid isPermaLink="false">http://blogs.breeze.net/scotts/PermaLink,guid,8eb45f26-df2c-47de-908b-cd5dbafc47e6.aspx</guid>
      <link>http://blogs.breeze.net/scotts/2010/07/09/TechEdAU2010MostlyHarmless.aspx</link>
      <pubDate>Fri, 09 Jul 2010 05:42:52 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/TechEdAU2010MostlyHarmless_DC9E/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/TechEdAU2010MostlyHarmless_DC9E/image_thumb.png" width="857" height="295"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Of course the official site can be found here &amp;gt; &lt;a title="http://australia.msteched.com/" href="http://australia.msteched.com/"&gt;http://australia.msteched.com/&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=8eb45f26-df2c-47de-908b-cd5dbafc47e6" /&gt;</description>
      <comments>http://blogs.breeze.net/scotts/CommentView,guid,8eb45f26-df2c-47de-908b-cd5dbafc47e6.aspx</comments>
      <category>Humour</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/scotts/Trackback.aspx?guid=7753253a-8e02-4cdc-b71b-6dd9565a729f</trackback:ping>
      <pingback:server>http://blogs.breeze.net/scotts/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/scotts/PermaLink,guid,7753253a-8e02-4cdc-b71b-6dd9565a729f.aspx</pingback:target>
      <dc:creator>Scott Scovell</dc:creator>
      <wfw:comment>http://blogs.breeze.net/scotts/CommentView,guid,7753253a-8e02-4cdc-b71b-6dd9565a729f.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/scotts/SyndicationService.asmx/GetEntryCommentsRss?guid=7753253a-8e02-4cdc-b71b-6dd9565a729f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I have been avoiding this for sometime now. That is, adding new activity items to
the current BAM deployment in production. Production has been running for months now
and in this high volume system we partition the BAM activities every week and archive
each month (giving the client a rolling month worth of activity data). I was concerned
that during the update of the BAM definition this data was going to be blown away
(an experience that has caused much embarrassment in the past).
</p>
        <p>
So the procedure I used this time did the trick…well almost
</p>
        <ul>
          <li>
Took a “backup” of the current BAM definition using BM.exe<br /><br /><div id="codeSnippetWrapper"><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">bm.exe get-config -FileName:MyConfig.xml</pre><br /></div></li>
          <li>
Added the new activity items using Excel and edited the views 
</li>
          <li>
Exported the new BAM definition to xml 
</li>
          <li>
Removed the existing views using BM.exe<br /><br /><div id="codeSnippetWrapper"><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">bm.exe remove-view -Name:MyView</pre><br /></div></li>
          <li>
Deployed the new definition using BM.exe and the update-all command – FAILED <img alt="smile_cry" src="http://spaces.live.com/rte/emoticons/smile_cry.gif" /><br /><br /><div id="codeSnippetWrapper"><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">bm.exe update-all -DefinitionFile:MyNewDef.xml</pre> <br />
The error message in the command window was:
</div></li>
        </ul>
        <ul>
          <div>
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
              <span style="color: #0000ff">All</span> queries
combined <span style="color: #0000ff">using</span> a <span style="color: #0000ff">UNION</span>, <span style="color: #0000ff">INTERSECT</span><span style="color: #0000ff">or</span><span style="color: #0000ff">EXCEPT</span> operator
must have an 
<br />
equal number <span style="color: #0000ff">of</span> expressions <span style="color: #0000ff">in</span> their
target lists.<br /></pre>
          </div>
          <div> 
</div>
          <div>Upon investigation, I found that the partition tables did not get updated with
the new activity items. As the view spans both the current activity tables and all
the partition tables the view creation failed. Interestingly, the BAM Archive tables
did get updated.<br /><br /></div>
          <li>
“Upgraded” the partition tables using the script from <a href="http://blog.cnext.eu/2009/04/13/bam-deployment-and-partitioned-tables" target="_blank">this
blog post</a><br /><br />
I did need to make a slight change to avoid some errors that cropped up with partition
tables already archived and as such no longer present in the BAMPrimaryImport database
(although the original script works).<br /><br />
I changed the CURSOR definition to filter out those tables already archived:<br /><br /><div id="codeSnippetWrapper"><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><span style="color: #0000ff">DECLARE</span> partition_cursor <span style="color: #0000ff">CURSOR</span><span style="color: #0000ff">LOCAL</span><span style="color: #0000ff">FOR</span><br /><span style="color: #0000ff">SELECT</span> InstancesTable<br /><span style="color: #0000ff">FROM</span> [dbo].[bam_Metadata_Partitions]<br /><span style="color: #0000ff">WHERE</span> ActivityName = @activityName 
<br /><span style="color: #0000ff">AND</span> ArchivedTime <span style="color: #0000ff">Is</span><span style="color: #0000ff">Null</span><span style="color: #008000">--
Added additional filter</span><br /><span style="color: #0000ff">ORDER</span><span style="color: #0000ff">BY</span> CreationTime <span style="color: #0000ff">ASC</span><br /></pre><span style="color: blue"></span></div></li>
          <li>
Deployed the new definition again using BM.exe and the update-all command – SUCCEEDED 
</li>
          <li>
Re-applied security to the Views using BM.exe<br /><br /><div id="codeSnippetWrapper"><pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">bm.exe add-account -AccountName:TheStig -View:MyView</pre><br /></div></li>
        </ul>
        <p>
Unfortunately all my BAM Alerts got blown away <img alt="smile_baringteeth" src="http://spaces.live.com/rte/emoticons/smile_baringteeth.gif" /> .
Makes sense as the alerts reference the view that was removed. Luckily taking the
backup in step one allowed me to pull out the original alert definition and paste
them into my new definition file. I re-deployed that using the update-all command
and alerts are back to normal.
</p>
        <p>
I did come across this <a href="http://support.microsoft.com/kb/969558" target="_blank">KB
969558 article</a> for BTS 2006 R2 that appeared to address the partition tables issue.
It looks as though this did not make it into BTS 2009.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=7753253a-8e02-4cdc-b71b-6dd9565a729f" />
      </body>
      <title>Updating an existing BAM deployment</title>
      <guid isPermaLink="false">http://blogs.breeze.net/scotts/PermaLink,guid,7753253a-8e02-4cdc-b71b-6dd9565a729f.aspx</guid>
      <link>http://blogs.breeze.net/scotts/2010/07/09/UpdatingAnExistingBAMDeployment.aspx</link>
      <pubDate>Fri, 09 Jul 2010 05:12:01 GMT</pubDate>
      <description>&lt;p&gt;
I have been avoiding this for sometime now. That is, adding new activity items to
the current BAM deployment in production. Production has been running for months now
and in this high volume system we partition the BAM activities every week and archive
each month (giving the client a rolling month worth of activity data). I was concerned
that during the update of the BAM definition this data was going to be blown away
(an experience that has caused much embarrassment in the past).
&lt;/p&gt;
&lt;p&gt;
So the procedure I used this time did the trick…well almost
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Took a “backup” of the current BAM definition using BM.exe&lt;br&gt;
&lt;br&gt;
&lt;div id="codeSnippetWrapper"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;bm.exe get-config -FileName:MyConfig.xml&lt;/pre&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;li&gt;
Added the new activity items using Excel and edited the views 
&lt;li&gt;
Exported the new BAM definition to xml 
&lt;li&gt;
Removed the existing views using BM.exe&lt;br&gt;
&lt;br&gt;
&lt;div id="codeSnippetWrapper"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;bm.exe remove-view -Name:MyView&lt;/pre&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;li&gt;
Deployed the new definition using BM.exe and the update-all command – FAILED &lt;img alt="smile_cry" src="http://spaces.live.com/rte/emoticons/smile_cry.gif"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;div id="codeSnippetWrapper"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;bm.exe update-all -DefinitionFile:MyNewDef.xml&lt;/pre&gt;&amp;nbsp;&lt;br&gt;
The error message in the command window was:
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;div&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;All&lt;/span&gt; queries
combined &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; a &lt;span style="color: #0000ff"&gt;UNION&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;INTERSECT&lt;/span&gt; &lt;span style="color: #0000ff"&gt;or&lt;/span&gt; &lt;span style="color: #0000ff"&gt;EXCEPT&lt;/span&gt; operator
must have an 
&lt;br&gt;
equal number &lt;span style="color: #0000ff"&gt;of&lt;/span&gt; expressions &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; their
target lists.&lt;br&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;Upon investigation, I found that the partition tables did not get updated with
the new activity items. As the view spans both the current activity tables and all
the partition tables the view creation failed. Interestingly, the BAM Archive tables
did get updated.&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;li&gt;
“Upgraded” the partition tables using the script from &lt;a href="http://blog.cnext.eu/2009/04/13/bam-deployment-and-partitioned-tables" target="_blank"&gt;this
blog post&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
I did need to make a slight change to avoid some errors that cropped up with partition
tables already archived and as such no longer present in the BAMPrimaryImport database
(although the original script works).&lt;br&gt;
&lt;br&gt;
I changed the CURSOR definition to filter out those tables already archived:&lt;br&gt;
&lt;br&gt;
&lt;div id="codeSnippetWrapper"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;DECLARE&lt;/span&gt; partition_cursor &lt;span style="color: #0000ff"&gt;CURSOR&lt;/span&gt; &lt;span style="color: #0000ff"&gt;LOCAL&lt;/span&gt; &lt;span style="color: #0000ff"&gt;FOR&lt;/span&gt;
&lt;br&gt;
&lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt; InstancesTable&lt;br&gt;
&lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt; [dbo].[bam_Metadata_Partitions]&lt;br&gt;
&lt;span style="color: #0000ff"&gt;WHERE&lt;/span&gt; ActivityName = @activityName 
&lt;br&gt;
&lt;span style="color: #0000ff"&gt;AND&lt;/span&gt; ArchivedTime &lt;span style="color: #0000ff"&gt;Is&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Null&lt;/span&gt; &lt;span style="color: #008000"&gt;--
Added additional filter&lt;/span&gt;
&lt;br&gt;
&lt;span style="color: #0000ff"&gt;ORDER&lt;/span&gt; &lt;span style="color: #0000ff"&gt;BY&lt;/span&gt; CreationTime &lt;span style="color: #0000ff"&gt;ASC&lt;/span&gt;
&lt;br&gt;
&lt;/pre&gt;&lt;span style="color: blue"&gt;
&lt;/div&gt;
&gt; 
&lt;li&gt;
Deployed the new definition again using BM.exe and the update-all command – SUCCEEDED 
&lt;li&gt;
Re-applied security to the Views using BM.exe&lt;br&gt;
&lt;br&gt;
&lt;div id="codeSnippetWrapper"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;bm.exe add-account -AccountName:TheStig -View:MyView&lt;/pre&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Unfortunately all my BAM Alerts got blown away &lt;img alt="smile_baringteeth" src="http://spaces.live.com/rte/emoticons/smile_baringteeth.gif"&gt; .
Makes sense as the alerts reference the view that was removed. Luckily taking the
backup in step one allowed me to pull out the original alert definition and paste
them into my new definition file. I re-deployed that using the update-all command
and alerts are back to normal.
&lt;/p&gt;
&lt;p&gt;
I did come across this &lt;a href="http://support.microsoft.com/kb/969558" target="_blank"&gt;KB
969558 article&lt;/a&gt; for BTS 2006 R2 that appeared to address the partition tables issue.
It looks as though this did not make it into BTS 2009.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=7753253a-8e02-4cdc-b71b-6dd9565a729f" /&gt;</description>
      <comments>http://blogs.breeze.net/scotts/CommentView,guid,7753253a-8e02-4cdc-b71b-6dd9565a729f.aspx</comments>
      <category>BizTalk General</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/scotts/Trackback.aspx?guid=befda151-af93-4136-b79c-19fdea22f5bb</trackback:ping>
      <pingback:server>http://blogs.breeze.net/scotts/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/scotts/PermaLink,guid,befda151-af93-4136-b79c-19fdea22f5bb.aspx</pingback:target>
      <dc:creator>Scott Scovell</dc:creator>
      <wfw:comment>http://blogs.breeze.net/scotts/CommentView,guid,befda151-af93-4136-b79c-19fdea22f5bb.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/scotts/SyndicationService.asmx/GetEntryCommentsRss?guid=befda151-af93-4136-b79c-19fdea22f5bb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Just lost a couple of hours I will never get back… 
</p>
        <p>
I am in the process of upgrading one of our RFID applications to 2010 beta. The upgrade
went through without a hitch and I found myself the proud owner (or at least caretaker)
of a brand-spanking new BizTalk RFID Server 2010.
</p>
        <p>
          <a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/BizTalkRFIDServer2010Processfaile.3error_14721/rfid%20manager%202010_2.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="rfid manager 2010" border="0" alt="rfid manager 2010" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/BizTalkRFIDServer2010Processfaile.3error_14721/rfid%20manager%202010_thumb.png" width="404" height="286" />
          </a>
        </p>
        <p>
(No visible differences to BizTalk RFID Server 2009 – except for the icon)
</p>
        <p>
I then proceeded to upgrade my Visual Studio 2008 projects to VS 2010. WOW!!! Build
succeeded first time…I am on a roll baby!
</p>
        <p>
So I imported my Process into RFID Manager and fired her up…
</p>
        <p>
          <a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/BizTalkRFIDServer2010Processfaile.3error_14721/rfid%202010%20error%20starting%20process_6.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="rfid 2010 error starting process" border="0" alt="rfid 2010 error starting process" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/BizTalkRFIDServer2010Processfaile.3error_14721/rfid%202010%20error%20starting%20process_thumb_2.png" width="404" height="152" />
          </a>
        </p>
        <p>
The WCF service was not responding. So I open up IIS Manager (my VM is Windows Server
2008 so I’m running IIS 7) and try to browse to the hosting.svc under my RFID process
VD and I get a http 401.3 error. Where do I start to hunt this down. I have installed
.NET Framework 4.0, VS 2010, BizTalk RFID Server 2010 (plus Silverlight 4, Windows
Azure platform AppFabric 1.0, … ).
</p>
        <p>
So I check:
</p>
        <ul>
          <li>
Application pool identities are correct – Tick 
</li>
          <li>
Application pool framework version – v4.0 Classic mode 
</li>
          <li>
Authentication set to Anonymous – Tick 
</li>
          <li>
Anonymous user set to application pool identity - Tick 
</li>
          <li>
NTFS permissions on the VD - Tick 
</li>
          <li>
Test Pass-through authentication – Green Lights 
</li>
          <li>
IISRESET (last desperate attempts of a beaten Sco)</li>
        </ul>
        <p>
Still no go. I get on the “bat-phone” to <a href="http://blogs.breeze.net/mickb" target="_blank">Ninja
Mick</a> and explain what's happening. He just laughs…”What! Another 401 error. That’s
about the sixth this week”. He points me off to a KB <a href="http://support.microsoft.com/kb/896861" target="_blank">article</a> about
disabling the loopback check (I am using host headers on my RFID Services site). Still
no go but it hinted at the problem…host headers.
</p>
        <p>
Back into RFID Manager and look at the Advanced Server Properties
</p>
        <p>
          <a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/BizTalkRFIDServer2010Processfaile.3error_14721/rfid%20manager%20advanced%20props_2.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="rfid manager advanced props" border="0" alt="rfid manager advanced props" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/BizTalkRFIDServer2010Processfaile.3error_14721/rfid%20manager%20advanced%20props_thumb.png" width="404" height="311" />
          </a>
        </p>
        <p>
Even though these settings are technically correct and BizTalk RFID Server creates
the provider and process services without error, I needed to set the Host IP address
to the host header name I am using. This appears to have changed between either BizTalk
RFID Server 2009 &gt; 2010 or a change to IIS, Windows Update, .NET 4.0 … your guess
is as good as mine?
</p>
        <p>
After setting this to the host header name all worked fine and I’m back to sending
my tag read events into BizTalk RFID Server 2010
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=befda151-af93-4136-b79c-19fdea22f5bb" />
      </body>
      <title>BizTalk RFID Server 2010 – Process failed to start and HTTP 401 error</title>
      <guid isPermaLink="false">http://blogs.breeze.net/scotts/PermaLink,guid,befda151-af93-4136-b79c-19fdea22f5bb.aspx</guid>
      <link>http://blogs.breeze.net/scotts/2010/07/02/BizTalkRFIDServer2010ProcessFailedToStartAndHTTP401Error.aspx</link>
      <pubDate>Fri, 02 Jul 2010 13:21:47 GMT</pubDate>
      <description>&lt;p&gt;
Just lost a couple of hours I will never get back… 
&lt;/p&gt;
&lt;p&gt;
I am in the process of upgrading one of our RFID applications to 2010 beta. The upgrade
went through without a hitch and I found myself the proud owner (or at least caretaker)
of a brand-spanking new BizTalk RFID Server 2010.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/BizTalkRFIDServer2010Processfaile.3error_14721/rfid%20manager%202010_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="rfid manager 2010" border="0" alt="rfid manager 2010" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/BizTalkRFIDServer2010Processfaile.3error_14721/rfid%20manager%202010_thumb.png" width="404" height="286"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
(No visible differences to BizTalk RFID Server 2009 – except for the icon)
&lt;/p&gt;
&lt;p&gt;
I then proceeded to upgrade my Visual Studio 2008 projects to VS 2010. WOW!!! Build
succeeded first time…I am on a roll baby!
&lt;/p&gt;
&lt;p&gt;
So I imported my Process into RFID Manager and fired her up…
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/BizTalkRFIDServer2010Processfaile.3error_14721/rfid%202010%20error%20starting%20process_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="rfid 2010 error starting process" border="0" alt="rfid 2010 error starting process" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/BizTalkRFIDServer2010Processfaile.3error_14721/rfid%202010%20error%20starting%20process_thumb_2.png" width="404" height="152"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
The WCF service was not responding. So I open up IIS Manager (my VM is Windows Server
2008 so I’m running IIS 7) and try to browse to the hosting.svc under my RFID process
VD and I get a http 401.3 error. Where do I start to hunt this down. I have installed
.NET Framework 4.0, VS 2010, BizTalk RFID Server 2010 (plus Silverlight 4, Windows
Azure platform AppFabric 1.0, … ).
&lt;/p&gt;
&lt;p&gt;
So I check:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Application pool identities are correct – Tick 
&lt;li&gt;
Application pool framework version – v4.0 Classic mode 
&lt;li&gt;
Authentication set to Anonymous – Tick 
&lt;li&gt;
Anonymous user set to application pool identity - Tick 
&lt;li&gt;
NTFS permissions on the VD - Tick 
&lt;li&gt;
Test Pass-through authentication – Green Lights 
&lt;li&gt;
IISRESET (last desperate attempts of a beaten Sco)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Still no go. I get on the “bat-phone” to &lt;a href="http://blogs.breeze.net/mickb" target="_blank"&gt;Ninja
Mick&lt;/a&gt; and explain what's happening. He just laughs…”What! Another 401 error. That’s
about the sixth this week”. He points me off to a KB &lt;a href="http://support.microsoft.com/kb/896861" target="_blank"&gt;article&lt;/a&gt; about
disabling the loopback check (I am using host headers on my RFID Services site). Still
no go but it hinted at the problem…host headers.
&lt;/p&gt;
&lt;p&gt;
Back into RFID Manager and look at the Advanced Server Properties
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/BizTalkRFIDServer2010Processfaile.3error_14721/rfid%20manager%20advanced%20props_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="rfid manager advanced props" border="0" alt="rfid manager advanced props" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/BizTalkRFIDServer2010Processfaile.3error_14721/rfid%20manager%20advanced%20props_thumb.png" width="404" height="311"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Even though these settings are technically correct and BizTalk RFID Server creates
the provider and process services without error, I needed to set the Host IP address
to the host header name I am using. This appears to have changed between either BizTalk
RFID Server 2009 &amp;gt; 2010 or a change to IIS, Windows Update, .NET 4.0 … your guess
is as good as mine?
&lt;/p&gt;
&lt;p&gt;
After setting this to the host header name all worked fine and I’m back to sending
my tag read events into BizTalk RFID Server 2010
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=befda151-af93-4136-b79c-19fdea22f5bb" /&gt;</description>
      <comments>http://blogs.breeze.net/scotts/CommentView,guid,befda151-af93-4136-b79c-19fdea22f5bb.aspx</comments>
      <category>BizTalk RFID</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/scotts/Trackback.aspx?guid=51e949b7-c11d-4dc9-aa7d-eb917ab6bf5b</trackback:ping>
      <pingback:server>http://blogs.breeze.net/scotts/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/scotts/PermaLink,guid,51e949b7-c11d-4dc9-aa7d-eb917ab6bf5b.aspx</pingback:target>
      <dc:creator>Scott Scovell</dc:creator>
      <wfw:comment>http://blogs.breeze.net/scotts/CommentView,guid,51e949b7-c11d-4dc9-aa7d-eb917ab6bf5b.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/scotts/SyndicationService.asmx/GetEntryCommentsRss?guid=51e949b7-c11d-4dc9-aa7d-eb917ab6bf5b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
During the CTP(s) one way we could provide client credentials to authenticate with
the Service Bus was to use username and password. We were writing code that looked
something like this:
</p>
        <pre class="code">
          <span style="color: green">// create the credentials object for
the endpoint </span>
          <span style="color: #2b91af">TransportClientEndpointBehavior </span>userNamePasswordServiceBusCredential
= <span style="color: blue">new </span><span style="color: #2b91af">TransportClientEndpointBehavior</span>();
userNamePasswordServiceBusCredential.CredentialType = <span style="color: #2b91af">TransportClientCredentialType</span>.UserNamePassword;
userNamePasswordServiceBusCredential.Credentials.UserName.UserName = <span style="color: blue">this</span>.solution;
userNamePasswordServiceBusCredential.Credentials.UserName.Password = <span style="color: blue">this</span>.password;</pre>
        <p>
The UserNamePassword credential type is no longer supported in the v1.0 release. The
types of supported client credential types are now:
</p>
        <ul>
          <li>
            <a href="http://msdn.microsoft.com/en-us/library/microsoft.servicebus.transportclientcredentialtype.aspx">Saml</a>:
this option specifies that the client credential is provided in the Security Assertion
Markup Language (SAML) format, over the Secure Sockets Layer protocol. This option
requires that you write your own SSL credential server. 
</li>
          <li>
            <a href="http://msdn.microsoft.com/en-us/library/microsoft.servicebus.transportclientcredentialtype.aspx">SharedSecret</a>:
This option specifies that the client credential is provided as a self-issued shared
secret that is registered with AppFabric Access Control through the AppFabric portal.
This option requires no additional settings on the <a href="http://msdn.microsoft.com/en-us/library/microsoft.servicebus.transportclientendpointbehavior.credentials.aspx">Credentials</a> property. 
</li>
          <li>
            <a href="http://msdn.microsoft.com/en-us/library/microsoft.servicebus.transportclientcredentialtype.aspx">SimpleWebToken</a>:
This option specifies that the client credential is provided as a self-issued shared
secret that is registered with AppFabric Access Control through the AppFabric portal,
and presented in the emerging industry-standard format called simple Web token (SWT).
Similar to the shared secret option, this option requires no additional settings on
the <strong>Credentials</strong> property. 
</li>
          <li>
            <a href="http://msdn.microsoft.com/en-us/library/microsoft.servicebus.transportclientcredentialtype.aspx">Unauthenticated</a>:
This option specifies that there is no client credential provided. This option avoids
acquiring and sending a token. It is used by clients that are not required to authenticate,
based on the policy of their service binding. Note that this setting might leave data
nonsecure if not used together with another security measure.</li>
        </ul>
        <p>
[See <a href="http://msdn.microsoft.com/en-us/library/dd582752.aspx" target="_blank">Choosing
Authentication for an AppFabric Service Bus Application</a> for more details]
</p>
        <p>
So where we used to use UserNamePassword, the corresponding credential type is now
SharedSecret (although you should check out the other authentication options as well).
Here is what your code now looks like:
</p>
        <pre class="code">
          <span style="color: green">// create the credentials object for
the endpoint </span>
          <span style="color: #2b91af">TransportClientEndpointBehavior </span>sharedSecretServiceBusCredential
= <span style="color: blue">new </span><span style="color: #2b91af">TransportClientEndpointBehavior</span>();
sharedSecretServiceBusCredential.CredentialType = <span style="color: #2b91af">TransportClientCredentialType</span>.SharedSecret;
sharedSecretServiceBusCredential.Credentials.SharedSecret.IssuerName = <span style="color: blue">this</span>.issuer;
sharedSecretServiceBusCredential.Credentials.SharedSecret.IssuerSecret = <span style="color: blue">this</span>.secret;</pre>
        <p>
Default issuer name and secret are generated for you when you activate your AppFabric
account. Create additional ones using the <a href="http://msdn.microsoft.com/en-us/library/ee706706.aspx" target="_blank">Windows
Azure platform AppFabric Access Control Management Tool (Acm.exe)</a> that is installed
as part of the SDK.
</p>
        <a href="http://11011.net/software/vspaste">
        </a>
        <p>
          <a href="http://11011.net/software/vspaste">
          </a>
        </p>
        <img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=51e949b7-c11d-4dc9-aa7d-eb917ab6bf5b" />
      </body>
      <title>Changes to TransportClientCredentialType in Windows Azure AppFabric Service Bus</title>
      <guid isPermaLink="false">http://blogs.breeze.net/scotts/PermaLink,guid,51e949b7-c11d-4dc9-aa7d-eb917ab6bf5b.aspx</guid>
      <link>http://blogs.breeze.net/scotts/2010/07/02/ChangesToTransportClientCredentialTypeInWindowsAzureAppFabricServiceBus.aspx</link>
      <pubDate>Fri, 02 Jul 2010 04:39:57 GMT</pubDate>
      <description>&lt;p&gt;
During the CTP(s) one way we could provide client credentials to authenticate with
the Service Bus was to use username and password. We were writing code that looked
something like this:
&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="color: green"&gt;// create the credentials object for
the endpoint &lt;/span&gt;&lt;span style="color: #2b91af"&gt;TransportClientEndpointBehavior &lt;/span&gt;userNamePasswordServiceBusCredential
= &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;TransportClientEndpointBehavior&lt;/span&gt;();
userNamePasswordServiceBusCredential.CredentialType = &lt;span style="color: #2b91af"&gt;TransportClientCredentialType&lt;/span&gt;.UserNamePassword;
userNamePasswordServiceBusCredential.Credentials.UserName.UserName = &lt;span style="color: blue"&gt;this&lt;/span&gt;.solution;
userNamePasswordServiceBusCredential.Credentials.UserName.Password = &lt;span style="color: blue"&gt;this&lt;/span&gt;.password;&lt;/pre&gt;
&lt;p&gt;
The UserNamePassword credential type is no longer supported in the v1.0 release. The
types of supported client credential types are now:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.servicebus.transportclientcredentialtype.aspx"&gt;Saml&lt;/a&gt;:
this option specifies that the client credential is provided in the Security Assertion
Markup Language (SAML) format, over the Secure Sockets Layer protocol. This option
requires that you write your own SSL credential server. 
&lt;li&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.servicebus.transportclientcredentialtype.aspx"&gt;SharedSecret&lt;/a&gt;:
This option specifies that the client credential is provided as a self-issued shared
secret that is registered with AppFabric Access Control through the AppFabric portal.
This option requires no additional settings on the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.servicebus.transportclientendpointbehavior.credentials.aspx"&gt;Credentials&lt;/a&gt; property. 
&lt;li&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.servicebus.transportclientcredentialtype.aspx"&gt;SimpleWebToken&lt;/a&gt;:
This option specifies that the client credential is provided as a self-issued shared
secret that is registered with AppFabric Access Control through the AppFabric portal,
and presented in the emerging industry-standard format called simple Web token (SWT).
Similar to the shared secret option, this option requires no additional settings on
the &lt;strong&gt;Credentials&lt;/strong&gt; property. 
&lt;li&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.servicebus.transportclientcredentialtype.aspx"&gt;Unauthenticated&lt;/a&gt;:
This option specifies that there is no client credential provided. This option avoids
acquiring and sending a token. It is used by clients that are not required to authenticate,
based on the policy of their service binding. Note that this setting might leave data
nonsecure if not used together with another security measure.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
[See &lt;a href="http://msdn.microsoft.com/en-us/library/dd582752.aspx" target="_blank"&gt;Choosing
Authentication for an AppFabric Service Bus Application&lt;/a&gt; for more details]
&lt;/p&gt;
&lt;p&gt;
So where we used to use UserNamePassword, the corresponding credential type is now
SharedSecret (although you should check out the other authentication options as well).
Here is what your code now looks like:
&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="color: green"&gt;// create the credentials object for
the endpoint &lt;/span&gt;&lt;span style="color: #2b91af"&gt;TransportClientEndpointBehavior &lt;/span&gt;sharedSecretServiceBusCredential
= &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;TransportClientEndpointBehavior&lt;/span&gt;();
sharedSecretServiceBusCredential.CredentialType = &lt;span style="color: #2b91af"&gt;TransportClientCredentialType&lt;/span&gt;.SharedSecret;
sharedSecretServiceBusCredential.Credentials.SharedSecret.IssuerName = &lt;span style="color: blue"&gt;this&lt;/span&gt;.issuer;
sharedSecretServiceBusCredential.Credentials.SharedSecret.IssuerSecret = &lt;span style="color: blue"&gt;this&lt;/span&gt;.secret;&lt;/pre&gt;
&lt;p&gt;
Default issuer name and secret are generated for you when you activate your AppFabric
account. Create additional ones using the &lt;a href="http://msdn.microsoft.com/en-us/library/ee706706.aspx" target="_blank"&gt;Windows
Azure platform AppFabric Access Control Management Tool (Acm.exe)&lt;/a&gt; that is installed
as part of the SDK.
&lt;/p&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt; 
&lt;p&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=51e949b7-c11d-4dc9-aa7d-eb917ab6bf5b" /&gt;</description>
      <comments>http://blogs.breeze.net/scotts/CommentView,guid,51e949b7-c11d-4dc9-aa7d-eb917ab6bf5b.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/scotts/Trackback.aspx?guid=d313a243-f49f-450a-a031-064b804d2299</trackback:ping>
      <pingback:server>http://blogs.breeze.net/scotts/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/scotts/PermaLink,guid,d313a243-f49f-450a-a031-064b804d2299.aspx</pingback:target>
      <dc:creator>Scott Scovell</dc:creator>
      <wfw:comment>http://blogs.breeze.net/scotts/CommentView,guid,d313a243-f49f-450a-a031-064b804d2299.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/scotts/SyndicationService.asmx/GetEntryCommentsRss?guid=d313a243-f49f-450a-a031-064b804d2299</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I am getting a few reports that after a recent windows update (or installing .NET
Framework 4.0) the ESSO service fails to restart. Microsoft have released a hotfix
to address this (<a title="http://support.microsoft.com/kb/2252691" href="http://support.microsoft.com/kb/2252691">http://support.microsoft.com/kb/2252691</a>)
</p>
        <p>
Microsoft Reports:
</p>
        <p>
This issue occurs after installing .NET Framework 4.0. The registration of the assembly
used by ENTSSO to access SQL Server does not specify the correct version of the .NET
Framework. When .NET Framework 4.0 is installed, the assembly will try to use the
newer framework and then fail to load
</p>
        <p>
To resolve this manually:<br /><br /><b>32-bit Server<br /></b><br />
1.       Open a command window<br />
2.       Go to C:\Windows\Microsoft.NET\Framework\v2.0.50727<br />
3.       Type: regasm “C:\Program Files\Common Files\Enterprise
Single Sign-On\ssosql.dll”<br /><br /><b>64-bit Server<br /></b><br />
1.       Open a command window<br />
2.       Go to C:\Windows\Microsoft.NET\Framework64\v2.0.50727<br />
3.       Type each of the following and hit ENTER:<br /><br />
32bit:  regasm “C:\Program Files\Common Files\Enterprise Single Sign-On\win32\ssosql.dll”<br />
64bit:  regasm “C:\Program Files\Common Files\Enterprise Single Sign-On\ssosql.dll”<br /><b><br />
Note</b> On a 64-bit server, regasm will need to be run for both the 32-bit and 64-bit
versions of ssosql.dll.
</p>
        <p>
Hope this helps <img alt="smile_wink" src="http://spaces.live.com/rte/emoticons/smile_wink.gif" /></p>
        <img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=d313a243-f49f-450a-a031-064b804d2299" />
      </body>
      <title>Windows could not start the Enterprise Single Sign-On Service</title>
      <guid isPermaLink="false">http://blogs.breeze.net/scotts/PermaLink,guid,d313a243-f49f-450a-a031-064b804d2299.aspx</guid>
      <link>http://blogs.breeze.net/scotts/2010/07/01/WindowsCouldNotStartTheEnterpriseSingleSignOnService.aspx</link>
      <pubDate>Thu, 01 Jul 2010 05:05:59 GMT</pubDate>
      <description>&lt;p&gt;
I am getting a few reports that after a recent windows update (or installing .NET
Framework 4.0) the ESSO service fails to restart. Microsoft have released a hotfix
to address this (&lt;a title="http://support.microsoft.com/kb/2252691" href="http://support.microsoft.com/kb/2252691"&gt;http://support.microsoft.com/kb/2252691&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
Microsoft Reports:
&lt;/p&gt;
&lt;p&gt;
This issue occurs after installing .NET Framework 4.0. The registration of the assembly
used by ENTSSO to access SQL Server does not specify the correct version of the .NET
Framework. When .NET Framework 4.0 is installed, the assembly will try to use the
newer framework and then fail to load
&lt;/p&gt;
&lt;p&gt;
To resolve this manually:&lt;br&gt;
&lt;br&gt;
&lt;b&gt;32-bit Server&lt;br&gt;
&lt;/b&gt;
&lt;br&gt;
1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Open a command window&lt;br&gt;
2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to C:\Windows\Microsoft.NET\Framework\v2.0.50727&lt;br&gt;
3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type: regasm “C:\Program Files\Common Files\Enterprise
Single Sign-On\ssosql.dll”&lt;br&gt;
&lt;br&gt;
&lt;b&gt;64-bit Server&lt;br&gt;
&lt;/b&gt;
&lt;br&gt;
1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Open a command window&lt;br&gt;
2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to C:\Windows\Microsoft.NET\Framework64\v2.0.50727&lt;br&gt;
3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type each of the following and hit ENTER:&lt;br&gt;
&lt;br&gt;
32bit:&amp;nbsp; regasm “C:\Program Files\Common Files\Enterprise Single Sign-On\win32\ssosql.dll”&lt;br&gt;
64bit:&amp;nbsp; regasm “C:\Program Files\Common Files\Enterprise Single Sign-On\ssosql.dll”&lt;br&gt;
&lt;b&gt;
&lt;br&gt;
Note&lt;/b&gt; On a 64-bit server, regasm will need to be run for both the 32-bit and 64-bit
versions of ssosql.dll.
&lt;/p&gt;
&lt;p&gt;
Hope this helps &lt;img alt="smile_wink" src="http://spaces.live.com/rte/emoticons/smile_wink.gif"&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=d313a243-f49f-450a-a031-064b804d2299" /&gt;</description>
      <comments>http://blogs.breeze.net/scotts/CommentView,guid,d313a243-f49f-450a-a031-064b804d2299.aspx</comments>
      <category>.NET Framework</category>
      <category>BizTalk General</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/scotts/Trackback.aspx?guid=8b49ec26-88e3-440e-a5a9-3f6f33d1bde5</trackback:ping>
      <pingback:server>http://blogs.breeze.net/scotts/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/scotts/PermaLink,guid,8b49ec26-88e3-440e-a5a9-3f6f33d1bde5.aspx</pingback:target>
      <dc:creator>Scott Scovell</dc:creator>
      <wfw:comment>http://blogs.breeze.net/scotts/CommentView,guid,8b49ec26-88e3-440e-a5a9-3f6f33d1bde5.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/scotts/SyndicationService.asmx/GetEntryCommentsRss?guid=8b49ec26-88e3-440e-a5a9-3f6f33d1bde5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Setting up a new VM and hit this hurdle. Lucky for me Microsoft just released 1.2
of the SDK that supports VS 2010 and .NET 4.0 <img alt="thumbs_up" src="http://spaces.live.com/rte/emoticons/thumbs_up.gif" /></p>
        <p>
          <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2274a0a8-5d37-4eac-b50a-e197dc340f6f&amp;displaylang=en" target="_blank">Windows
Azure SDK 1.2</a>
        </p>
        <p>
Also, if you are using Windows Azure AppFabric and .NET 4.0 make sure the relay bindings
are installed into the .NET 4.0 machine.config (not done by installer). Check out
Wade’s <a href="http://blog.wadewegner.com/2010/05/net-framework-4-0-and-the-azure-appfabric-sdk/" target="_blank">post</a> on
how to go about it easily.
</p>
        <p>
Keep those heads in the cloud
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=8b49ec26-88e3-440e-a5a9-3f6f33d1bde5" />
      </body>
      <title>Windows Azure SDK and .NET 4.0</title>
      <guid isPermaLink="false">http://blogs.breeze.net/scotts/PermaLink,guid,8b49ec26-88e3-440e-a5a9-3f6f33d1bde5.aspx</guid>
      <link>http://blogs.breeze.net/scotts/2010/06/29/WindowsAzureSDKAndNET40.aspx</link>
      <pubDate>Tue, 29 Jun 2010 12:33:41 GMT</pubDate>
      <description>&lt;p&gt;
Setting up a new VM and hit this hurdle. Lucky for me Microsoft just released 1.2
of the SDK that supports VS 2010 and .NET 4.0 &lt;img alt="thumbs_up" src="http://spaces.live.com/rte/emoticons/thumbs_up.gif"&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2274a0a8-5d37-4eac-b50a-e197dc340f6f&amp;amp;displaylang=en" target="_blank"&gt;Windows
Azure SDK 1.2&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Also, if you are using Windows Azure AppFabric and .NET 4.0 make sure the relay bindings
are installed into the .NET 4.0 machine.config (not done by installer). Check out
Wade’s &lt;a href="http://blog.wadewegner.com/2010/05/net-framework-4-0-and-the-azure-appfabric-sdk/" target="_blank"&gt;post&lt;/a&gt; on
how to go about it easily.
&lt;/p&gt;
&lt;p&gt;
Keep those heads in the cloud
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=8b49ec26-88e3-440e-a5a9-3f6f33d1bde5" /&gt;</description>
      <comments>http://blogs.breeze.net/scotts/CommentView,guid,8b49ec26-88e3-440e-a5a9-3f6f33d1bde5.aspx</comments>
      <category>Windows Azure</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/scotts/Trackback.aspx?guid=af6731cb-c7bb-4f0b-ad2c-2000b17ce392</trackback:ping>
      <pingback:server>http://blogs.breeze.net/scotts/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/scotts/PermaLink,guid,af6731cb-c7bb-4f0b-ad2c-2000b17ce392.aspx</pingback:target>
      <dc:creator>Scott Scovell</dc:creator>
      <wfw:comment>http://blogs.breeze.net/scotts/CommentView,guid,af6731cb-c7bb-4f0b-ad2c-2000b17ce392.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/scotts/SyndicationService.asmx/GetEntryCommentsRss?guid=af6731cb-c7bb-4f0b-ad2c-2000b17ce392</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In my last post, I was exploring a different approach to implementing a simple windows
service. In that solution, I used Windows Workflow to implement a folder monitor service.
Part of the solution required me to gather target folder details from configuration.
I needed more than the out-of-the-box appSettings collection of key-value pairs. Normally
I would use a second xml configuration file and basically deserialise that into my
custom collection class. However, I was in exploration mode so I decided to give the
System.Configuration classes another go.
</p>
        <p>
I wanted the client to easily manage the target folders to monitor and customise the
alert that gets logged in BAM (see the last post). I wanted something like this:
</p>
        <div id="codeSnippetWrapper">
          <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <span style="color: #0000ff">&lt;</span>
            <span style="color: #800000">folderMonitors</span>
            <span style="color: #0000ff">&gt;</span>
            <br />
            <span style="color: #0000ff">&lt;</span>
            <span style="color: #800000">folderMonitor</span>
            <span style="color: #ff0000">targetFolder</span>
            <span style="color: #0000ff">="E:\Data\BizTalk\Monitor1"</span>
            <span style="color: #ff0000">fileMask</span>
            <span style="color: #0000ff">="*.xml"</span>
            <span style="color: #ff0000">timerInterval</span>
            <span style="color: #0000ff">="1"</span>
            <span style="color: #ff0000">processingInterval</span>
            <span style="color: #0000ff">="2"</span>
            <span style="color: #0000ff">&gt;</span>
            <br />
            <span style="color: #0000ff">&lt;</span>
            <span style="color: #800000">alert</span>
            <span style="color: #ff0000">alertInterval</span>
            <span style="color: #0000ff">="5"</span>
            <span style="color: #ff0000">sender</span>
            <span style="color: #0000ff">="BIZTALK"</span>
            <span style="color: #ff0000">destination</span>
            <span style="color: #0000ff">="LOB1"</span>
            <span style="color: #ff0000">messageType</span>
            <span style="color: #0000ff">="Order"</span>
            <span style="color: #ff0000">errorType</span>
            <span style="color: #0000ff">="Folder
Monitor"</span>
            <span style="color: #ff0000">errorCode</span>
            <span style="color: #0000ff">="OFFLINE"</span>
            <span style="color: #0000ff">/&gt;</span>
            <br />
            <span style="color: #0000ff">&lt;/</span>
            <span style="color: #800000">folderMonitor</span>
            <span style="color: #0000ff">&gt;</span>
            <br />
            <span style="color: #0000ff">&lt;</span>
            <span style="color: #800000">folderMonitor</span>
            <span style="color: #ff0000">targetFolder</span>
            <span style="color: #0000ff">="E:\Data\BizTalk\Monitor2"</span>
            <span style="color: #ff0000">fileMask</span>
            <span style="color: #0000ff">="*.xml"</span>
            <span style="color: #ff0000">timerInterval</span>
            <span style="color: #0000ff">="1"</span>
            <span style="color: #ff0000">processingInterval</span>
            <span style="color: #0000ff">="2"</span>
            <span style="color: #0000ff">&gt;</span>
            <br />
            <span style="color: #0000ff">&lt;</span>
            <span style="color: #800000">alert</span>
            <span style="color: #ff0000">alertInterval</span>
            <span style="color: #0000ff">="5"</span>
            <span style="color: #ff0000">sender</span>
            <span style="color: #0000ff">="BIZTALK"</span>
            <span style="color: #ff0000">destination</span>
            <span style="color: #0000ff">="LOB2"</span>
            <span style="color: #ff0000">messageType</span>
            <span style="color: #0000ff">="Invoice"</span>
            <span style="color: #ff0000">errorType</span>
            <span style="color: #0000ff">="Folder
Monitor"</span>
            <span style="color: #ff0000">errorCode</span>
            <span style="color: #0000ff">="OFFLINE"</span>
            <span style="color: #0000ff">/&gt;</span>
            <br />
            <span style="color: #0000ff">&lt;/</span>
            <span style="color: #800000">folderMonitor</span>
            <span style="color: #0000ff">&gt;</span>
            <br />
            <span style="color: #0000ff">&lt;/</span>
            <span style="color: #800000">folderMonitors</span>
            <span style="color: #0000ff">&gt;</span>
          </pre>
          <br />
        </div>
        <p>
I was surprised by the amount of code I needed to write. Basically you have to:
</p>
        <ol>
          <li>
Define a ConfigurationSection</li>
          <li>
Define the ConfigurationElementCollection and implement the indexers and ARC methods</li>
          <li>
Define the actual ConfigurationElement (the folder monitor structure you see above)</li>
          <li>
Declare the configuration section in the app.config</li>
        </ol>
        <p>
Here is the source code    
</p>
        <div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; height: 239px; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">using</span> System;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">using</span> System.Collections.Generic;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">using</span> System.Linq;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">using</span> System.Text;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">using</span> System.Configuration;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">namespace</span> Breeze.BizTalk.WorkflowLibrary</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">class</span> FolderMonitorSection
: ConfigurationSection</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #cc6633">#region</span> Static
Accessors</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">///
&lt;summary&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">///
Gets the configuration section using the default element name.</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">///
&lt;/summary&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">static</span> FolderMonitorSection
GetSection()</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span> GetSection(<span style="color: #006080">"folderMonitorConfig"</span>);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">///
&lt;summary&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">///
Gets the configuration section using the specified element name.</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">///
&lt;/summary&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">static</span> FolderMonitorSection
GetSection(<span style="color: #0000ff">string</span> sectionName)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            FolderMonitorSection section = ConfigurationManager.GetSection(sectionName) <span style="color: #0000ff">as</span> FolderMonitorSection;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">if</span> (section
== <span style="color: #0000ff">null</span>)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">string</span> message
= <span style="color: #0000ff">string</span>.Format(<span style="color: #006080">"The
specified configuration section (&lt;{0}&gt;) was not found."</span>, sectionName);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">throw</span>
              <span style="color: #0000ff">new</span> ConfigurationErrorsException(message);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span> section;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #cc6633">#endregion</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #cc6633">#region</span> Configuration
Properties</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        [ConfigurationProperty(<span style="color: #006080">"folderMonitors"</span>,
IsDefaultCollection = <span style="color: #0000ff">true</span>)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span> FolderMonitorConfigElementCollection
FolderMonitors</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            get { <span style="color: #0000ff">return</span> (FolderMonitorConfigElementCollection)<span style="color: #0000ff">this</span>[<span style="color: #006080">"folderMonitors"</span>];
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            set { <span style="color: #0000ff">this</span>[<span style="color: #006080">"folderMonitors"</span>]
= <span style="color: #0000ff">value</span>; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">override</span>
              <span style="color: #0000ff">bool</span> IsReadOnly()</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span>
              <span style="color: #0000ff">false</span>;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #cc6633">#endregion</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    [ConfigurationCollection(<span style="color: #0000ff">typeof</span>(FolderMonitorConfigElement),
CollectionType = ConfigurationElementCollectionType.BasicMap)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">class</span> FolderMonitorConfigElementCollection
: ConfigurationElementCollection</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">protected</span>
              <span style="color: #0000ff">override</span> ConfigurationElement
CreateNewElement()</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span>
              <span style="color: #0000ff">new</span> FolderMonitorConfigElement();</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">protected</span>
              <span style="color: #0000ff">override</span>
              <span style="color: #0000ff">string</span> ElementName</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            get { <span style="color: #0000ff">return</span><span style="color: #006080">"folderMonitor"</span>;
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">override</span> ConfigurationElementCollectionType
CollectionType</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            get { <span style="color: #0000ff">return</span> ConfigurationElementCollectionType.BasicMap;
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">override</span>
              <span style="color: #0000ff">bool</span> IsReadOnly()</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span>
              <span style="color: #0000ff">false</span>;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #cc6633">#region</span> Indexers</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span> FolderMonitorConfigElement <span style="color: #0000ff">this</span>[<span style="color: #0000ff">int</span> index]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            get { <span style="color: #0000ff">return</span> BaseGet(index) <span style="color: #0000ff">as</span> FolderMonitorConfigElement;
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            set</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">if</span> (BaseGet(index)
!= <span style="color: #0000ff">null</span>)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                    BaseRemoveAt(index);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                BaseAdd(index, <span style="color: #0000ff">value</span>);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">new</span> FolderMonitorConfigElement <span style="color: #0000ff">this</span>[<span style="color: #0000ff">string</span> name]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            get { <span style="color: #0000ff">return</span> BaseGet(name) <span style="color: #0000ff">as</span> FolderMonitorConfigElement;
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #cc6633">#endregion</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #cc6633">#region</span> Lookup
Methods</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">protected</span>
              <span style="color: #0000ff">override</span>
              <span style="color: #0000ff">object</span> GetElementKey(ConfigurationElement
element)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            FolderMonitorConfigElement cfg = element <span style="color: #0000ff">as</span> FolderMonitorConfigElement;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span> cfg.TargetFolder;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> GetKey(<span style="color: #0000ff">int</span> index)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span> (<span style="color: #0000ff">string</span>)BaseGetKey(index);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #cc6633">#endregion</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #cc6633">#region</span> Add/Remove/Clear
Methods</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">void</span> Add(FolderMonitorConfigElement
item)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            BaseAdd(item);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">void</span> Remove(<span style="color: #0000ff">string</span> name)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            BaseRemove(name);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">void</span> Remove(FolderMonitorConfigElement
item)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            BaseRemove(GetElementKey(item));</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">void</span> RemoveAt(<span style="color: #0000ff">int</span> index)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            BaseRemoveAt(index);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">void</span> Clear()</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            BaseClear();</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #cc6633">#endregion</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">class</span> FolderMonitorConfigElement
: ConfigurationElement</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #cc6633">#region</span> Constructors</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span> FolderMonitorConfigElement()</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #cc6633">#endregion</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #cc6633">#region</span> Configuration
Properties</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        [ConfigurationProperty(<span style="color: #006080">"targetFolder"</span>,
IsRequired = <span style="color: #0000ff">true</span>)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> TargetFolder</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            get { <span style="color: #0000ff">return</span> (<span style="color: #0000ff">string</span>)<span style="color: #0000ff">this</span>[<span style="color: #006080">"targetFolder"</span>];
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            set { <span style="color: #0000ff">this</span>[<span style="color: #006080">"targetFolder"</span>]
= <span style="color: #0000ff">value</span>; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        [ConfigurationProperty(<span style="color: #006080">"fileMask"</span>,
IsRequired = <span style="color: #0000ff">true</span>, DefaultValue = <span style="color: #006080">"*.*"</span>)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> FileMask</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            get { <span style="color: #0000ff">return</span> (<span style="color: #0000ff">string</span>)<span style="color: #0000ff">this</span>[<span style="color: #006080">"fileMask"</span>];
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            set { <span style="color: #0000ff">this</span>[<span style="color: #006080">"fileMask"</span>]
= <span style="color: #0000ff">value</span>; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        [ConfigurationProperty(<span style="color: #006080">"timerInterval"</span>,
IsRequired = <span style="color: #0000ff">true</span>, DefaultValue = <span style="color: #006080">"3"</span>)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        [IntegerValidator(ExcludeRange = <span style="color: #0000ff">false</span>,
MaxValue = 1440, MinValue = 1)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">int</span> TimerInterval</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            get { <span style="color: #0000ff">return</span> (<span style="color: #0000ff">int</span>)<span style="color: #0000ff">this</span>[<span style="color: #006080">"timerInterval"</span>];
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            set { <span style="color: #0000ff">this</span>[<span style="color: #006080">"timerInterval"</span>]
= <span style="color: #0000ff">value</span>; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        [ConfigurationProperty(<span style="color: #006080">"processingInterval"</span>,
IsRequired = <span style="color: #0000ff">true</span>, DefaultValue = <span style="color: #006080">"5"</span>)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        [IntegerValidator(ExcludeRange = <span style="color: #0000ff">false</span>,
MaxValue = 1440, MinValue = 1)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">int</span> ProcessingInterval</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            get { <span style="color: #0000ff">return</span> (<span style="color: #0000ff">int</span>)<span style="color: #0000ff">this</span>[<span style="color: #006080">"processingInterval"</span>];
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            set { <span style="color: #0000ff">this</span>[<span style="color: #006080">"processingInterval"</span>]
= <span style="color: #0000ff">value</span>; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        [ConfigurationProperty(<span style="color: #006080">"alert"</span>)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span> AlertConfigElement
AlertConfig</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            get { <span style="color: #0000ff">return</span> (AlertConfigElement)<span style="color: #0000ff">this</span>[<span style="color: #006080">"alert"</span>];
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            set { <span style="color: #0000ff">this</span>[<span style="color: #006080">"alert"</span>]
= <span style="color: #0000ff">value</span>; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">class</span> AlertConfigElement
: ConfigurationElement</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span> AlertConfigElement()</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            [ConfigurationProperty(<span style="color: #006080">"alertInterval"</span>,
IsRequired = <span style="color: #0000ff">true</span>, DefaultValue = <span style="color: #006080">"20"</span>)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            [IntegerValidator(ExcludeRange = <span style="color: #0000ff">false</span>,
MaxValue = 1440, MinValue = 1)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">int</span> AlertInterval</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                get { <span style="color: #0000ff">return</span> (<span style="color: #0000ff">int</span>)<span style="color: #0000ff">this</span>[<span style="color: #006080">"alertInterval"</span>];
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                set { <span style="color: #0000ff">this</span>[<span style="color: #006080">"alertInterval"</span>]
= <span style="color: #0000ff">value</span>; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            [ConfigurationProperty(<span style="color: #006080">"sender"</span>)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> Sender</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                get { <span style="color: #0000ff">return</span> (<span style="color: #0000ff">string</span>)<span style="color: #0000ff">this</span>[<span style="color: #006080">"sender"</span>];
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                set { <span style="color: #0000ff">this</span>[<span style="color: #006080">"sender"</span>]
= <span style="color: #0000ff">value</span>; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            [ConfigurationProperty(<span style="color: #006080">"destination"</span>)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> Destination</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                get { <span style="color: #0000ff">return</span> (<span style="color: #0000ff">string</span>)<span style="color: #0000ff">this</span>[<span style="color: #006080">"destination"</span>];
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                set { <span style="color: #0000ff">this</span>[<span style="color: #006080">"destination"</span>]
= <span style="color: #0000ff">value</span>; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            [ConfigurationProperty(<span style="color: #006080">"messageType"</span>)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> MessageType</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                get { <span style="color: #0000ff">return</span> (<span style="color: #0000ff">string</span>)<span style="color: #0000ff">this</span>[<span style="color: #006080">"messageType"</span>];
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                set { <span style="color: #0000ff">this</span>[<span style="color: #006080">"messageType"</span>]
= <span style="color: #0000ff">value</span>; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            [ConfigurationProperty(<span style="color: #006080">"errorType"</span>)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> ErrorType</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                get { <span style="color: #0000ff">return</span> (<span style="color: #0000ff">string</span>)<span style="color: #0000ff">this</span>[<span style="color: #006080">"errorType"</span>];
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                set { <span style="color: #0000ff">this</span>[<span style="color: #006080">"errorType"</span>]
= <span style="color: #0000ff">value</span>; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            [ConfigurationProperty(<span style="color: #006080">"errorCode"</span>)]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> ErrorCode</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                get { <span style="color: #0000ff">return</span> (<span style="color: #0000ff">string</span>)<span style="color: #0000ff">this</span>[<span style="color: #006080">"errorCode"</span>];
}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                set { <span style="color: #0000ff">this</span>[<span style="color: #006080">"errorCode"</span>]
= <span style="color: #0000ff">value</span>; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #cc6633">#endregion</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
          <span style="color: blue">
          </span>
        </p>
        <span style="color: blue">
        </span>
        <span style="color: blue">
        </span>
        <span style="color: blue">
        </span>
        <span style="color: blue">
        </span>
        <p>
And my app.config file looks like this
</p>
        <p>
          <span style="color: blue">&lt;?</span>
          <span style="color: #a31515">xml </span>
          <span style="color: red">version</span>
          <span style="color: blue">=</span>"<span style="color: blue">1.0</span>" <span style="color: red">encoding</span><span style="color: blue">=</span>"<span style="color: blue">utf-8</span>" <span style="color: blue">?&gt;<br />
&lt;</span><span style="color: #a31515">configuration</span><span style="color: blue">&gt;<br /><br />
  &lt;</span><span style="color: #a31515">configSections</span><span style="color: blue">&gt;<br />
    &lt;!--</span><span style="color: green">Custom config section
declaration for Folder Monitor</span><span style="color: blue">--&gt;<br />
    &lt;</span><span style="color: #a31515">section<br />
     </span><span style="color: red">name</span><span style="color: blue">=</span>"<span style="color: blue">folderMonitorConfig</span>"<br />
      <span style="color: red">type</span><span style="color: blue">=</span>"<span style="color: blue">Breeze.BizTalk.WorkflowLibrary.FolderMonitorSection,
Breeze.BizTalk.WorkflowLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</span>"<br />
    <span style="color: blue">/&gt;<br />
  &lt;/</span><span style="color: #a31515">configSections</span><span style="color: blue">&gt;<br /><br />
  &lt;!--</span><span style="color: green">Custom config section for Folder Monitor</span><span style="color: blue">--&gt;<br />
  &lt;</span><span style="color: #a31515">folderMonitorConfig</span><span style="color: blue">&gt;<br />
    &lt;</span><span style="color: #a31515">folderMonitors</span><span style="color: blue">&gt;<br />
      &lt;</span><span style="color: #a31515">folderMonitor </span><span style="color: red">targetFolder</span><span style="color: blue">=</span>"<span style="color: blue">E:\Data\BizTalk\Monitor1</span>" <span style="color: red">fileMask</span><span style="color: blue">=</span>"<span style="color: blue">*.xml</span>" <span style="color: red">timerInterval</span><span style="color: blue">=</span>"<span style="color: blue">1</span>" <span style="color: red">processingInterval</span><span style="color: blue">=</span>"<span style="color: blue">2</span>"<span style="color: blue">&gt;<br />
        &lt;</span><span style="color: #a31515">alert</span><span style="color: red">alertInterval</span><span style="color: blue">=</span>"<span style="color: blue">5</span>" <span style="color: red">sender</span><span style="color: blue">=</span>"<span style="color: blue">BIZTALK</span>" <span style="color: red">destination</span><span style="color: blue">=</span>"<span style="color: blue">LOB1</span>" <span style="color: red">messageType</span><span style="color: blue">=</span>"<span style="color: blue">Order</span>" <span style="color: red">errorType</span><span style="color: blue">=</span>"<span style="color: blue">Folder
Monitor</span>" <span style="color: red">errorCode</span><span style="color: blue">=</span>"<span style="color: blue">OFFLINE</span>"<span style="color: blue">/&gt;<br />
      &lt;/</span><span style="color: #a31515">folderMonitor</span><span style="color: blue">&gt;<br />
      &lt;</span><span style="color: #a31515">folderMonitor </span><span style="color: red">targetFolder</span><span style="color: blue">=</span>"<span style="color: blue">E:\Data\BizTalk\Monitor2</span>" <span style="color: red">fileMask</span><span style="color: blue">=</span>"<span style="color: blue">*.xml</span>" <span style="color: red">timerInterval</span><span style="color: blue">=</span>"<span style="color: blue">1</span>" <span style="color: red">processingInterval</span><span style="color: blue">=</span>"<span style="color: blue">2</span>"<span style="color: blue">&gt;<br />
        &lt;</span><span style="color: #a31515">alert</span><span style="color: red">alertInterval</span><span style="color: blue">=</span>"<span style="color: blue">5</span>" <span style="color: red">sender</span><span style="color: blue">=</span>"<span style="color: blue">BIZTALK</span>" <span style="color: red">destination</span><span style="color: blue">=</span>"<span style="color: blue">LOB2</span>" <span style="color: red">messageType</span><span style="color: blue">=</span>"<span style="color: blue">Invoice</span>" <span style="color: red">errorType</span><span style="color: blue">=</span>"<span style="color: blue">Folder
Monitor</span>" <span style="color: red">errorCode</span><span style="color: blue">=</span>"<span style="color: blue">OFFLINE</span>"<span style="color: blue">/&gt;<br />
      &lt;/</span><span style="color: #a31515">folderMonitor</span><span style="color: blue">&gt;<br />
    &lt;/</span><span style="color: #a31515">folderMonitors</span><span style="color: blue">&gt;<br />
  &lt;/</span><span style="color: #a31515">folderMonitorConfig</span><span style="color: blue">&gt;<br />
 </span><span style="color: blue">  
<br />
&lt;/</span><span style="color: #a31515">configuration</span><span style="color: blue">&gt;</span></p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
          <strong>Tip</strong>: If you do end up GAC’ing the assembly your configuration classes
are under, don’t forget to update the type in the &lt;configSections&gt; to use the
new PublicKeyToken value. <img alt="smile_wink" src="http://spaces.live.com/rte/emoticons/smile_wink.gif" /></p>
        <p>
Once all that was setup (Birthdays and Christmas sorted out along the way) I was happy
with the end result. In my WF I simply used the static accessor to get my configuration
collection and bound that to the Repeater Activity in my workflow. Because of the
amount of work involved, I think it would of been much better to stick with my usual
approach. That is, using a second custom configuration file and deserialise it into
my custom collection class. The real test will be what I choose next time I am asked
to implement this type of thing…custom config file or custom config section?
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=af6731cb-c7bb-4f0b-ad2c-2000b17ce392" />
      </body>
      <title>Custom Configuration Section</title>
      <guid isPermaLink="false">http://blogs.breeze.net/scotts/PermaLink,guid,af6731cb-c7bb-4f0b-ad2c-2000b17ce392.aspx</guid>
      <link>http://blogs.breeze.net/scotts/2010/06/29/CustomConfigurationSection.aspx</link>
      <pubDate>Tue, 29 Jun 2010 12:13:26 GMT</pubDate>
      <description>&lt;p&gt;
In my last post, I was exploring a different approach to implementing a simple windows
service. In that solution, I used Windows Workflow to implement a folder monitor service.
Part of the solution required me to gather target folder details from configuration.
I needed more than the out-of-the-box appSettings collection of key-value pairs. Normally
I would use a second xml configuration file and basically deserialise that into my
custom collection class. However, I was in exploration mode so I decided to give the
System.Configuration classes another go.
&lt;/p&gt;
&lt;p&gt;
I wanted the client to easily manage the target folders to monitor and customise the
alert that gets logged in BAM (see the last post). I wanted something like this:
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;folderMonitors&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;folderMonitor&lt;/span&gt; &lt;span style="color: #ff0000"&gt;targetFolder&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="E:\Data\BizTalk\Monitor1"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;fileMask&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="*.xml"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;timerInterval&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;processingInterval&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;alert&lt;/span&gt; &lt;span style="color: #ff0000"&gt;alertInterval&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="5"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;sender&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="BIZTALK"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;destination&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="LOB1"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;messageType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Order"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;errorType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Folder
Monitor"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;errorCode&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="OFFLINE"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;folderMonitor&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;folderMonitor&lt;/span&gt; &lt;span style="color: #ff0000"&gt;targetFolder&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="E:\Data\BizTalk\Monitor2"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;fileMask&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="*.xml"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;timerInterval&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;processingInterval&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;alert&lt;/span&gt; &lt;span style="color: #ff0000"&gt;alertInterval&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="5"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;sender&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="BIZTALK"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;destination&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="LOB2"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;messageType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Invoice"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;errorType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Folder
Monitor"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;errorCode&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="OFFLINE"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;folderMonitor&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;folderMonitors&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;p&gt;
I was surprised by the amount of code I needed to write. Basically you have to:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Define a ConfigurationSection&lt;/li&gt;
&lt;li&gt;
Define the ConfigurationElementCollection and implement the indexers and ARC methods&lt;/li&gt;
&lt;li&gt;
Define the actual ConfigurationElement (the folder monitor structure you see above)&lt;/li&gt;
&lt;li&gt;
Declare the configuration section in the app.config&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Here is the source code&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; height: 239px; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Configuration;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; Breeze.BizTalk.WorkflowLibrary&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; FolderMonitorSection
: ConfigurationSection&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; Static
Accessors&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #008000"&gt;///
&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #008000"&gt;///
Gets the configuration section using the default element name.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #008000"&gt;///
&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; FolderMonitorSection
GetSection()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; GetSection(&lt;span style="color: #006080"&gt;"folderMonitorConfig"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #008000"&gt;///
&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #008000"&gt;///
Gets the configuration section using the specified element name.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #008000"&gt;///
&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; FolderMonitorSection
GetSection(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; sectionName)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            FolderMonitorSection section = ConfigurationManager.GetSection(sectionName) &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; FolderMonitorSection;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (section
== &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; message
= &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #006080"&gt;"The
specified configuration section (&amp;lt;{0}&amp;gt;) was not found."&lt;/span&gt;, sectionName);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;throw&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ConfigurationErrorsException(message);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; section;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; Configuration
Properties&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        [ConfigurationProperty(&lt;span style="color: #006080"&gt;"folderMonitors"&lt;/span&gt;,
IsDefaultCollection = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; FolderMonitorConfigElementCollection
FolderMonitors&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (FolderMonitorConfigElementCollection)&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"folderMonitors"&lt;/span&gt;];
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            set { &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"folderMonitors"&lt;/span&gt;]
= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; IsReadOnly()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    [ConfigurationCollection(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(FolderMonitorConfigElement),
CollectionType = ConfigurationElementCollectionType.BasicMap)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; FolderMonitorConfigElementCollection
: ConfigurationElementCollection&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; ConfigurationElement
CreateNewElement()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; FolderMonitorConfigElement();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ElementName&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"folderMonitor"&lt;/span&gt;;
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; ConfigurationElementCollectionType
CollectionType&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; ConfigurationElementCollectionType.BasicMap;
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; IsReadOnly()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; Indexers&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; FolderMonitorConfigElement &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; index]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; BaseGet(index) &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; FolderMonitorConfigElement;
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            set&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (BaseGet(index)
!= &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    BaseRemoveAt(index);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                BaseAdd(index, &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; FolderMonitorConfigElement &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; name]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; BaseGet(name) &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; FolderMonitorConfigElement;
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; Lookup
Methods&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;object&lt;/span&gt; GetElementKey(ConfigurationElement
element)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            FolderMonitorConfigElement cfg = element &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; FolderMonitorConfigElement;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; cfg.TargetFolder;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; GetKey(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; index)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)BaseGetKey(index);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; Add/Remove/Clear
Methods&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Add(FolderMonitorConfigElement
item)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            BaseAdd(item);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Remove(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; name)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            BaseRemove(name);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Remove(FolderMonitorConfigElement
item)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            BaseRemove(GetElementKey(item));&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; RemoveAt(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; index)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            BaseRemoveAt(index);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Clear()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            BaseClear();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; FolderMonitorConfigElement
: ConfigurationElement&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; Constructors&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; FolderMonitorConfigElement()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; Configuration
Properties&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        [ConfigurationProperty(&lt;span style="color: #006080"&gt;"targetFolder"&lt;/span&gt;,
IsRequired = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; TargetFolder&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"targetFolder"&lt;/span&gt;];
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            set { &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"targetFolder"&lt;/span&gt;]
= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        [ConfigurationProperty(&lt;span style="color: #006080"&gt;"fileMask"&lt;/span&gt;,
IsRequired = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;, DefaultValue = &lt;span style="color: #006080"&gt;"*.*"&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; FileMask&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"fileMask"&lt;/span&gt;];
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            set { &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"fileMask"&lt;/span&gt;]
= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        [ConfigurationProperty(&lt;span style="color: #006080"&gt;"timerInterval"&lt;/span&gt;,
IsRequired = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;, DefaultValue = &lt;span style="color: #006080"&gt;"3"&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        [IntegerValidator(ExcludeRange = &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;,
MaxValue = 1440, MinValue = 1)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; TimerInterval&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;)&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"timerInterval"&lt;/span&gt;];
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            set { &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"timerInterval"&lt;/span&gt;]
= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        [ConfigurationProperty(&lt;span style="color: #006080"&gt;"processingInterval"&lt;/span&gt;,
IsRequired = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;, DefaultValue = &lt;span style="color: #006080"&gt;"5"&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        [IntegerValidator(ExcludeRange = &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;,
MaxValue = 1440, MinValue = 1)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; ProcessingInterval&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;)&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"processingInterval"&lt;/span&gt;];
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            set { &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"processingInterval"&lt;/span&gt;]
= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        [ConfigurationProperty(&lt;span style="color: #006080"&gt;"alert"&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; AlertConfigElement
AlertConfig&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (AlertConfigElement)&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"alert"&lt;/span&gt;];
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            set { &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"alert"&lt;/span&gt;]
= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; AlertConfigElement
: ConfigurationElement&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; AlertConfigElement()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            [ConfigurationProperty(&lt;span style="color: #006080"&gt;"alertInterval"&lt;/span&gt;,
IsRequired = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;, DefaultValue = &lt;span style="color: #006080"&gt;"20"&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            [IntegerValidator(ExcludeRange = &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;,
MaxValue = 1440, MinValue = 1)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; AlertInterval&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;)&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"alertInterval"&lt;/span&gt;];
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                set { &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"alertInterval"&lt;/span&gt;]
= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            [ConfigurationProperty(&lt;span style="color: #006080"&gt;"sender"&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Sender&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"sender"&lt;/span&gt;];
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                set { &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"sender"&lt;/span&gt;]
= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            [ConfigurationProperty(&lt;span style="color: #006080"&gt;"destination"&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Destination&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"destination"&lt;/span&gt;];
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                set { &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"destination"&lt;/span&gt;]
= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            [ConfigurationProperty(&lt;span style="color: #006080"&gt;"messageType"&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; MessageType&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"messageType"&lt;/span&gt;];
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                set { &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"messageType"&lt;/span&gt;]
= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            [ConfigurationProperty(&lt;span style="color: #006080"&gt;"errorType"&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ErrorType&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"errorType"&lt;/span&gt;];
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                set { &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"errorType"&lt;/span&gt;]
= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            [ConfigurationProperty(&lt;span style="color: #006080"&gt;"errorCode"&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ErrorCode&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"errorCode"&lt;/span&gt;];
}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                set { &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;[&lt;span style="color: #006080"&gt;"errorCode"&lt;/span&gt;]
= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&gt;
&lt;p&gt;
&lt;span style="color: blue"&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;span style="color: blue"&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;/span&gt; 
&lt;p&gt;
And my app.config file looks like this
&lt;/p&gt;
&lt;p&gt;
&lt;span style="color: blue"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #a31515"&gt;xml &lt;/span&gt;&lt;span style="color: red"&gt;version&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;1.0&lt;/span&gt;" &lt;span style="color: red"&gt;encoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;utf-8&lt;/span&gt;" &lt;span style="color: blue"&gt;?&amp;gt;&lt;br&gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;configuration&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;configSections&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--&lt;/span&gt;&lt;span style="color: green"&gt;Custom config section
declaration for Folder Monitor&lt;/span&gt;&lt;span style="color: blue"&gt;--&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;section&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;folderMonitorConfig&lt;/span&gt;"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Breeze.BizTalk.WorkflowLibrary.FolderMonitorSection,
Breeze.BizTalk.WorkflowLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null&lt;/span&gt;"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;/&amp;gt;&lt;br&gt;
&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;configSections&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;lt;!--&lt;/span&gt;&lt;span style="color: green"&gt;Custom config section for Folder Monitor&lt;/span&gt;&lt;span style="color: blue"&gt;--&amp;gt;&lt;br&gt;
&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;folderMonitorConfig&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;folderMonitors&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;folderMonitor &lt;/span&gt;&lt;span style="color: red"&gt;targetFolder&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;E:\Data\BizTalk\Monitor1&lt;/span&gt;" &lt;span style="color: red"&gt;fileMask&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;*.xml&lt;/span&gt;" &lt;span style="color: red"&gt;timerInterval&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;1&lt;/span&gt;" &lt;span style="color: red"&gt;processingInterval&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;2&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;alert&lt;/span&gt;&lt;span style="color: red"&gt;alertInterval&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;5&lt;/span&gt;" &lt;span style="color: red"&gt;sender&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;BIZTALK&lt;/span&gt;" &lt;span style="color: red"&gt;destination&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;LOB1&lt;/span&gt;" &lt;span style="color: red"&gt;messageType&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Order&lt;/span&gt;" &lt;span style="color: red"&gt;errorType&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Folder
Monitor&lt;/span&gt;" &lt;span style="color: red"&gt;errorCode&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;OFFLINE&lt;/span&gt;"&lt;span style="color: blue"&gt;/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;folderMonitor&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;folderMonitor &lt;/span&gt;&lt;span style="color: red"&gt;targetFolder&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;E:\Data\BizTalk\Monitor2&lt;/span&gt;" &lt;span style="color: red"&gt;fileMask&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;*.xml&lt;/span&gt;" &lt;span style="color: red"&gt;timerInterval&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;1&lt;/span&gt;" &lt;span style="color: red"&gt;processingInterval&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;2&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;alert&lt;/span&gt;&lt;span style="color: red"&gt;alertInterval&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;5&lt;/span&gt;" &lt;span style="color: red"&gt;sender&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;BIZTALK&lt;/span&gt;" &lt;span style="color: red"&gt;destination&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;LOB2&lt;/span&gt;" &lt;span style="color: red"&gt;messageType&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Invoice&lt;/span&gt;" &lt;span style="color: red"&gt;errorType&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Folder
Monitor&lt;/span&gt;" &lt;span style="color: red"&gt;errorCode&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;OFFLINE&lt;/span&gt;"&lt;span style="color: blue"&gt;/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;folderMonitor&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;folderMonitors&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;
&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;folderMonitorConfig&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;nbsp; 
&lt;br&gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;configuration&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Tip&lt;/strong&gt;: If you do end up GAC’ing the assembly your configuration classes
are under, don’t forget to update the type in the &amp;lt;configSections&amp;gt; to use the
new PublicKeyToken value. &lt;img alt="smile_wink" src="http://spaces.live.com/rte/emoticons/smile_wink.gif"&gt;
&lt;/p&gt;
&lt;p&gt;
Once all that was setup (Birthdays and Christmas sorted out along the way) I was happy
with the end result. In my WF I simply used the static accessor to get my configuration
collection and bound that to the Repeater Activity in my workflow. Because of the
amount of work involved, I think it would of been much better to stick with my usual
approach. That is, using a second custom configuration file and deserialise it into
my custom collection class. The real test will be what I choose next time I am asked
to implement this type of thing…custom config file or custom config section?
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=af6731cb-c7bb-4f0b-ad2c-2000b17ce392" /&gt;</description>
      <comments>http://blogs.breeze.net/scotts/CommentView,guid,af6731cb-c7bb-4f0b-ad2c-2000b17ce392.aspx</comments>
      <category>.NET Framework</category>
      <category>Windows Workflow</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/scotts/Trackback.aspx?guid=f267bd3c-f925-4208-b589-4428ce0b23b8</trackback:ping>
      <pingback:server>http://blogs.breeze.net/scotts/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/scotts/PermaLink,guid,f267bd3c-f925-4208-b589-4428ce0b23b8.aspx</pingback:target>
      <dc:creator>Scott Scovell</dc:creator>
      <wfw:comment>http://blogs.breeze.net/scotts/CommentView,guid,f267bd3c-f925-4208-b589-4428ce0b23b8.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/scotts/SyndicationService.asmx/GetEntryCommentsRss?guid=f267bd3c-f925-4208-b589-4428ce0b23b8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Being in the integration business we are often are asked to interface with older,
legacy systems via the file system. In BizTalk Server this is stock standard stuff.
One feature that clients really love is the real-time monitoring and notification
capabilities that BAM provides (often a compelling reason to adopt a product like
BizTalk Server over the traditional roll-your-own interface approach). During a recent
project the client loved the monitoring feature so much they asked if we could use
this to monitor other legacy file based interfaces outside of BizTalk. That is, although
BizTalk would not be involved in the processing or delivery of these files, could
they use BAM to monitor and notify them when the legacy interface application goes
down and stops processing them. Essentially they wanted a service that monitors folders
and alerts them when files have not been processed (in-activity).
</p>
        <p>
Outside of BizTalk, one tool I love using is Windows Workflow. WF is not new, but
I don’t see much adoption out there in the real-world. Why is that? When I speak with
other developers they often reply:
</p>
        <ul>
          <li>
When should I use WF? 
</li>
          <li>
What benefits does WF give me over what I’m doing now? 
</li>
          <li>
What does WF project look like?</li>
        </ul>
        <p>
To explore these questions I decided to implement the folder monitor service as a
workflow hosted by a Windows service. Along the way I found some interesting features
and techniques that I thought I might share here (some WF related some not). If you
are like me, something like 80% of the code I am writing is the same. Reading from
configuration, exception handling, calling services and database operations. Most
of the time the business logic is simple and procedural in nature. Do this &gt; If
that &gt; Do this &gt; For each of these &gt; perform this …. These applications seem
to be well suited to the WF Sequential Workflow approach. A nice feature is of course
the visual aspect. Its just too easy to validate your logic when its mapped out for
you (or perhaps your client). I can also imagine revisiting this code 6 months down
the track and not have to spend time recalling what the developer was trying to do
(regardless of how well the code is commented).
</p>
        <p>
To show you what I mean, here is the logic for the folder monitor. 
</p>
        <p>
          <a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/WindowsWorkflowfoldermonitor_13506/wffoldermonitorworkflowoverview.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="wf folder monitor - workflow overview" border="0" alt="wf folder monitor - workflow overview" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/WindowsWorkflowfoldermonitor_13506/wffoldermonitorworkflowoverview_thumb.png" width="254" height="366" />
          </a>
        </p>
        <p>
Its easy to visualise the what I’m trying to do here. An interesting feature is the
Monitor_Each_Folder activity. In WF you implement for-each loops using the Repeater
Activity. Essentially you bind the activity to a collection class (like List) and
it will iterate over each item in the list and execute the sequential activity(s)
grouped under it using the current item as its data context. The collection I am using
is a List of custom configuration elements with details of the target folder to monitor
(more on that in another post). Expanding the sequential activity (the one that gets
executed by the Repeater activity) we can see clearly the logic implemented by the
folder monitor. I simply added code to the three activities I defined and left all
the repetitive flow operations (If Then Else) to the designer. 
</p>
        <p>
          <a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/WindowsWorkflowfoldermonitor_13506/wffoldermonitormonitorfolderprocess.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="wf folder monitor - monitor folder process" border="0" alt="wf folder monitor - monitor folder process" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/WindowsWorkflowfoldermonitor_13506/wffoldermonitormonitorfolderprocess_thumb.png" width="473" height="514" />
          </a>
        </p>
        <p>
Although not shown here, exception handling was also provided by the WF designer and
all that was left for me to do was the specific exception messages and flow control
(terminate or continue). So compared with the traditional approach I have actually
reduced the amount of code I needed to write, just concentrating on the specific implementation
bits. This also pays dividends when it comes to testing and debugging your application
as instrumentation (tracking) comes out of the box. When debugging, the designer is
re-hosted and stepping through the code highlights the activities executed and workflow
path taken (very nice). We also have a nice integration story with BizTalk using the
BAM WF interceptor as well.
</p>
        <p>
With my workflow done and tested I moved on to hosting. I see this as another very
nice feature of WF. My application is agnostic to the environment it is running under.
I can choose to host this in a console app (for testing this is what I did) or in
a Win Forms app, ASP.NET web app, Windows Service, WCF service, even BizTalk Server
(in fact any .NET 3.5 application). To get this running under a Windows Service host
took all of about 5 mins using the VS Windows Service project template. So when developing
WF applications we manage the workflows separately from the host. Workflows in one
project and the host in another referencing it. We may even decide to share out the
WF across many hosts.
</p>
        <p>
So while not terribly exciting in functionality, I found that choosing to implement
the folder monitor service in WF actually took less code to write, made the code more
readable, and provided all of the instrumentation I needed to quickly test and debug
my code. I also now have more flexibility to reuse my code in other environments and
applications. And we have only scratched the surface of Windows Workflow…
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=f267bd3c-f925-4208-b589-4428ce0b23b8" />
      </body>
      <title>When Should I Consider Using Windows Workflow</title>
      <guid isPermaLink="false">http://blogs.breeze.net/scotts/PermaLink,guid,f267bd3c-f925-4208-b589-4428ce0b23b8.aspx</guid>
      <link>http://blogs.breeze.net/scotts/2010/06/28/WhenShouldIConsiderUsingWindowsWorkflow.aspx</link>
      <pubDate>Mon, 28 Jun 2010 12:07:51 GMT</pubDate>
      <description>&lt;p&gt;
Being in the integration business we are often are asked to interface with older,
legacy systems via the file system. In BizTalk Server this is stock standard stuff.
One feature that clients really love is the real-time monitoring and notification
capabilities that BAM provides (often a compelling reason to adopt a product like
BizTalk Server over the traditional roll-your-own interface approach). During a recent
project the client loved the monitoring feature so much they asked if we could use
this to monitor other legacy file based interfaces outside of BizTalk. That is, although
BizTalk would not be involved in the processing or delivery of these files, could
they use BAM to monitor and notify them when the legacy interface application goes
down and stops processing them. Essentially they wanted a service that monitors folders
and alerts them when files have not been processed (in-activity).
&lt;/p&gt;
&lt;p&gt;
Outside of BizTalk, one tool I love using is Windows Workflow. WF is not new, but
I don’t see much adoption out there in the real-world. Why is that? When I speak with
other developers they often reply:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
When should I use WF? 
&lt;li&gt;
What benefits does WF give me over what I’m doing now? 
&lt;li&gt;
What does WF project look like?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
To explore these questions I decided to implement the folder monitor service as a
workflow hosted by a Windows service. Along the way I found some interesting features
and techniques that I thought I might share here (some WF related some not). If you
are like me, something like 80% of the code I am writing is the same. Reading from
configuration, exception handling, calling services and database operations. Most
of the time the business logic is simple and procedural in nature. Do this &amp;gt; If
that &amp;gt; Do this &amp;gt; For each of these &amp;gt; perform this …. These applications seem
to be well suited to the WF Sequential Workflow approach. A nice feature is of course
the visual aspect. Its just too easy to validate your logic when its mapped out for
you (or perhaps your client). I can also imagine revisiting this code 6 months down
the track and not have to spend time recalling what the developer was trying to do
(regardless of how well the code is commented).
&lt;/p&gt;
&lt;p&gt;
To show you what I mean, here is the logic for the folder monitor. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/WindowsWorkflowfoldermonitor_13506/wffoldermonitorworkflowoverview.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="wf folder monitor - workflow overview" border="0" alt="wf folder monitor - workflow overview" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/WindowsWorkflowfoldermonitor_13506/wffoldermonitorworkflowoverview_thumb.png" width="254" height="366"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Its easy to visualise the what I’m trying to do here. An interesting feature is the
Monitor_Each_Folder activity. In WF you implement for-each loops using the Repeater
Activity. Essentially you bind the activity to a collection class (like List) and
it will iterate over each item in the list and execute the sequential activity(s)
grouped under it using the current item as its data context. The collection I am using
is a List of custom configuration elements with details of the target folder to monitor
(more on that in another post). Expanding the sequential activity (the one that gets
executed by the Repeater activity) we can see clearly the logic implemented by the
folder monitor. I simply added code to the three activities I defined and left all
the repetitive flow operations (If Then Else) to the designer. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/WindowsWorkflowfoldermonitor_13506/wffoldermonitormonitorfolderprocess.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="wf folder monitor - monitor folder process" border="0" alt="wf folder monitor - monitor folder process" src="http://blogs.breeze.net/scotts/content/binary/WindowsLiveWriter/WindowsWorkflowfoldermonitor_13506/wffoldermonitormonitorfolderprocess_thumb.png" width="473" height="514"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Although not shown here, exception handling was also provided by the WF designer and
all that was left for me to do was the specific exception messages and flow control
(terminate or continue). So compared with the traditional approach I have actually
reduced the amount of code I needed to write, just concentrating on the specific implementation
bits. This also pays dividends when it comes to testing and debugging your application
as instrumentation (tracking) comes out of the box. When debugging, the designer is
re-hosted and stepping through the code highlights the activities executed and workflow
path taken (very nice). We also have a nice integration story with BizTalk using the
BAM WF interceptor as well.
&lt;/p&gt;
&lt;p&gt;
With my workflow done and tested I moved on to hosting. I see this as another very
nice feature of WF. My application is agnostic to the environment it is running under.
I can choose to host this in a console app (for testing this is what I did) or in
a Win Forms app, ASP.NET web app, Windows Service, WCF service, even BizTalk Server
(in fact any .NET 3.5 application). To get this running under a Windows Service host
took all of about 5 mins using the VS Windows Service project template. So when developing
WF applications we manage the workflows separately from the host. Workflows in one
project and the host in another referencing it. We may even decide to share out the
WF across many hosts.
&lt;/p&gt;
&lt;p&gt;
So while not terribly exciting in functionality, I found that choosing to implement
the folder monitor service in WF actually took less code to write, made the code more
readable, and provided all of the instrumentation I needed to quickly test and debug
my code. I also now have more flexibility to reuse my code in other environments and
applications. And we have only scratched the surface of Windows Workflow…
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=f267bd3c-f925-4208-b589-4428ce0b23b8" /&gt;</description>
      <comments>http://blogs.breeze.net/scotts/CommentView,guid,f267bd3c-f925-4208-b589-4428ce0b23b8.aspx</comments>
      <category>Windows Workflow</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/scotts/Trackback.aspx?guid=8e985951-5325-4fb9-85c1-51dad7dd8b1c</trackback:ping>
      <pingback:server>http://blogs.breeze.net/scotts/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/scotts/PermaLink,guid,8e985951-5325-4fb9-85c1-51dad7dd8b1c.aspx</pingback:target>
      <dc:creator>Scott Scovell</dc:creator>
      <wfw:comment>http://blogs.breeze.net/scotts/CommentView,guid,8e985951-5325-4fb9-85c1-51dad7dd8b1c.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/scotts/SyndicationService.asmx/GetEntryCommentsRss?guid=8e985951-5325-4fb9-85c1-51dad7dd8b1c</wfw:commentRss>
      <title>Vacant position at Breeze</title>
      <guid isPermaLink="false">http://blogs.breeze.net/scotts/PermaLink,guid,8e985951-5325-4fb9-85c1-51dad7dd8b1c.aspx</guid>
      <link>http://blogs.breeze.net/scotts/2009/10/21/VacantPositionAtBreeze.aspx</link>
      <pubDate>Wed, 21 Oct 2009 23:13:01 GMT</pubDate>
      <description>&lt;p&gt;
Breeze are seeking an experienced, self motivated and high achiever, BizTalk/.Net
Developer or Consultant that has a passion for Microsoft technology and keen to learn
from their peers. You will be challenged yet guided by elite BizTalk Architects &amp;
MVPs with strong reputations in the Microsoft community. The successful candidate
must have at least 1-2 years development experience with .Net, BizTalk Server and
SharePoint Server.
&lt;/p&gt;
&lt;p&gt;
This is a unique opportunity to elevate your profile within the Microsoft community,
IT industry and work with the best in their field. The role will be challenging with
priorities often changing quickly and high expectations of delivery standards with
new technologies.
&lt;/p&gt;
&lt;p&gt;
For more info contact &lt;a href="mailto:info@breeze.net"&gt;info@breeze.net&lt;/a&gt; quoting
‘BizTalk Developer’ role.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=8e985951-5325-4fb9-85c1-51dad7dd8b1c" /&gt;</description>
      <comments>http://blogs.breeze.net/scotts/CommentView,guid,8e985951-5325-4fb9-85c1-51dad7dd8b1c.aspx</comments>
      <category>Breeze</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/scotts/Trackback.aspx?guid=e7095759-adeb-498e-a9b5-d0740e76660a</trackback:ping>
      <pingback:server>http://blogs.breeze.net/scotts/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/scotts/PermaLink,guid,e7095759-adeb-498e-a9b5-d0740e76660a.aspx</pingback:target>
      <dc:creator>Scott Scovell</dc:creator>
      <wfw:comment>http://blogs.breeze.net/scotts/CommentView,guid,e7095759-adeb-498e-a9b5-d0740e76660a.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/scotts/SyndicationService.asmx/GetEntryCommentsRss?guid=e7095759-adeb-498e-a9b5-d0740e76660a</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This week the Breeze RFID Team will be show casing an innovative RFID Document Management
solution at <a href="http://www.cebit.com.au" target="_blank">CeBit</a>. We have teamed
up with <a href="http://www.magellan-rfid.com" target="_blank">Magellan Technologies</a> to
develop a hardcopy (paper) document workflow solution built on the Microsoft SharePoint
platform. The solution allows printed documents to participate in document management
workflow in the same way as traditional electronic documents. 
</p>
        <p>
          <a href="http://www.breezetraining.com.au/blogs/scotts/content/binary/SeeBreezeatCeBit_8093/CeBitDemo.png">
            <img style="border-right: 0px; border-top: 0px; margin: 10px; border-left: 0px; border-bottom: 0px" height="331" alt="CeBit Demo" src="http://www.breezetraining.com.au/blogs/scotts/content/binary/SeeBreezeatCeBit_8093/CeBitDemo_thumb.png" width="496" border="0" />
          </a>
        </p>
        <p>
Our partners, Magellan, have some very cool RFID gear on show including their RFID
Document Tray Reader and their RFID Bookshelf Reader that we use in the demo.
</p>
        <p>
          <a href="http://www.breezetraining.com.au/blogs/scotts/content/binary/SeeBreezeatCeBit_8093/MagellanRFIDDocumentTray.png">
            <img style="border-right: 0px; border-top: 0px; margin: 10px; border-left: 0px; border-bottom: 0px" height="312" alt="Magellan RFID Document Tray" src="http://www.breezetraining.com.au/blogs/scotts/content/binary/SeeBreezeatCeBit_8093/MagellanRFIDDocumentTray_thumb.png" width="499" border="0" />
          </a>
        </p>
        <p>
So if you're at the show, pop in and say hi to the team.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=e7095759-adeb-498e-a9b5-d0740e76660a" />
      </body>
      <title>See Breeze at CeBit</title>
      <guid isPermaLink="false">http://blogs.breeze.net/scotts/PermaLink,guid,e7095759-adeb-498e-a9b5-d0740e76660a.aspx</guid>
      <link>http://blogs.breeze.net/scotts/2009/05/10/SeeBreezeAtCeBit.aspx</link>
      <pubDate>Sun, 10 May 2009 23:09:11 GMT</pubDate>
      <description>&lt;p&gt;
This week the Breeze RFID Team will be show casing an innovative RFID Document Management
solution at &lt;a href="http://www.cebit.com.au" target="_blank"&gt;CeBit&lt;/a&gt;. We have teamed
up with &lt;a href="http://www.magellan-rfid.com" target="_blank"&gt;Magellan Technologies&lt;/a&gt; to
develop a hardcopy (paper) document workflow solution built on the Microsoft SharePoint
platform. The solution allows printed documents to participate in document management
workflow in the same way as traditional electronic documents. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.breezetraining.com.au/blogs/scotts/content/binary/SeeBreezeatCeBit_8093/CeBitDemo.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 10px; border-left: 0px; border-bottom: 0px" height="331" alt="CeBit Demo" src="http://www.breezetraining.com.au/blogs/scotts/content/binary/SeeBreezeatCeBit_8093/CeBitDemo_thumb.png" width="496" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Our partners, Magellan, have some very cool RFID gear on show including their RFID
Document Tray Reader and their RFID Bookshelf Reader that we use in the demo.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.breezetraining.com.au/blogs/scotts/content/binary/SeeBreezeatCeBit_8093/MagellanRFIDDocumentTray.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 10px; border-left: 0px; border-bottom: 0px" height="312" alt="Magellan RFID Document Tray" src="http://www.breezetraining.com.au/blogs/scotts/content/binary/SeeBreezeatCeBit_8093/MagellanRFIDDocumentTray_thumb.png" width="499" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
So if you're at the show, pop in and say hi to the team.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=e7095759-adeb-498e-a9b5-d0740e76660a" /&gt;</description>
      <comments>http://blogs.breeze.net/scotts/CommentView,guid,e7095759-adeb-498e-a9b5-d0740e76660a.aspx</comments>
      <category>BizTalk RFID</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/scotts/Trackback.aspx?guid=7ecf7283-0313-4c22-beb9-12d9855e5bb8</trackback:ping>
      <pingback:server>http://blogs.breeze.net/scotts/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/scotts/PermaLink,guid,7ecf7283-0313-4c22-beb9-12d9855e5bb8.aspx</pingback:target>
      <dc:creator>Scott Scovell</dc:creator>
      <wfw:comment>http://blogs.breeze.net/scotts/CommentView,guid,7ecf7283-0313-4c22-beb9-12d9855e5bb8.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/scotts/SyndicationService.asmx/GetEntryCommentsRss?guid=7ecf7283-0313-4c22-beb9-12d9855e5bb8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In a (not so recent) post, I walked through the steps to get your BizTalk Server 2006
R2+ Orchestrations exposed to the Cloud. See <a href="http://blogs.breezetraining.com.au/scotts/2008/11/28/ExposingBizTalkOrchestrationsToTheCloud.aspx" target="_blank">Exposing
BizTalk Orchestrations to the Cloud</a>. With the release of the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8D1D1D5E-1332-4186-B33F-26D053759E49&amp;displaylang=en" target="_blank">Microsoft
.NET Services SDK (March 2009 CTP)</a> this week, you will find your existing .NET
Services endpoints no longer valid.
</p>
        <p>
Here's how to resolve the issue.
</p>
        <p>
At the moment your existing .NET Services endpoints are in the form: 
</p>
        <blockquote>
          <p>
            <font face="Courier New" color="#800000" size="2">sb://servicebus.windows.net/services/[solution
name]/[service name]/</font>
          </p>
        </blockquote>
        <p>
This has now been changed to: 
</p>
        <blockquote>
          <p>
            <font face="Courier New" color="#800000" size="2">sb://[solution name].servicebus.windows.net/[service
name]/</font>
          </p>
        </blockquote>
        <p>
          <em>Note: you can still register your service hierarchy as before (e.g. sb://.../[service
group]/[service name]) but for simplicity I have just used [service name] in the URI's
above.</em>
        </p>
        <p>
So, even if you followed Microsoft's advise and coded your service endpoints URI's
this way: 
</p>
        <blockquote>
          <p>
            <font size="2">
              <font face="Courier New">
                <font color="#008080">Uri</font> address =
new <font color="#008080">Uri</font>(<font color="#008080">String</font>.Format(<font color="#800000">"sb://{0}/services/{1}/{2}"</font>, <font color="#008080">ServiceBusEnvironment</font>.DefaultRelayHostName,
solutionName, serviceName));</font>
            </font>
          </p>
        </blockquote>
        <p>
that didn't get you out of trouble when the URI change was released. We are now encouraged
to use the following when generating endpoint addresses in code: 
</p>
        <blockquote>
          <p>
            <font size="2">
              <font face="Courier New">
                <font color="#008080">Uri</font> address = <font color="#008080">ServiceBusEnvironment</font>.CreateServiceUri(<font color="#800000">"sb"</font>,
solutionName, serviceName);</font>
            </font>
          </p>
        </blockquote>
        <p>
This will give us an address in the new structure and protect us from any future changes
(but we heard that somewhere before didn't we). Also, be aware that (as of time of
posting) the published services feed is not listing your services correctly (but they
are still accessible). Your new published services feed will also be: 
</p>
        <blockquote>
          <p>
            <font face="Courier New" color="#800000" size="2">http://[solution name].servicebus.windows.net/</font>
          </p>
        </blockquote>
        <p>
In the coming days, the team at Breeze will be walking through the new goodies the
March CTP brings so look out for future posts (of particular interest is the queuing
and routing features we have now!). <img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=7ecf7283-0313-4c22-beb9-12d9855e5bb8" /></p>
      </body>
      <title>Breaking changes with Microsoft .NET Services SDK (March 2009 CTP)</title>
      <guid isPermaLink="false">http://blogs.breeze.net/scotts/PermaLink,guid,7ecf7283-0313-4c22-beb9-12d9855e5bb8.aspx</guid>
      <link>http://blogs.breeze.net/scotts/2009/04/02/BreakingChangesWithMicrosoftNETServicesSDKMarch2009CTP.aspx</link>
      <pubDate>Thu, 02 Apr 2009 02:24:56 GMT</pubDate>
      <description>&lt;p&gt;
In a (not so recent) post, I walked through the steps to get your BizTalk Server 2006
R2+ Orchestrations exposed to the Cloud. See &lt;a href="http://blogs.breezetraining.com.au/scotts/2008/11/28/ExposingBizTalkOrchestrationsToTheCloud.aspx" target="_blank"&gt;Exposing
BizTalk Orchestrations to the Cloud&lt;/a&gt;. With the release of the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8D1D1D5E-1332-4186-B33F-26D053759E49&amp;amp;displaylang=en" target="_blank"&gt;Microsoft
.NET Services SDK (March 2009 CTP)&lt;/a&gt; this week, you will find your existing .NET
Services endpoints no longer valid.
&lt;/p&gt;
&lt;p&gt;
Here's how to resolve the issue.
&lt;/p&gt;
&lt;p&gt;
At the moment your existing .NET Services endpoints are in the form: 
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;font face="Courier New" color="#800000" size="2"&gt;sb://servicebus.windows.net/services/[solution
name]/[service name]/&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
This has now been changed to: &lt;blockquote&gt; 
&lt;p&gt;
&lt;font face="Courier New" color="#800000" size="2"&gt;sb://[solution name].servicebus.windows.net/[service
name]/&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&lt;em&gt;Note: you can still register your service hierarchy as before (e.g. sb://.../[service
group]/[service name]) but for simplicity I have just used [service name] in the URI's
above.&lt;/em&gt; 
&lt;p&gt;
So, even if you followed Microsoft's advise and coded your service endpoints URI's
this way: &lt;blockquote&gt; 
&lt;p&gt;
&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;font color="#008080"&gt;Uri&lt;/font&gt; address =
new &lt;font color="#008080"&gt;Uri&lt;/font&gt;(&lt;font color="#008080"&gt;String&lt;/font&gt;.Format(&lt;font color="#800000"&gt;"sb://{0}/services/{1}/{2}"&lt;/font&gt;, &lt;font color="#008080"&gt;ServiceBusEnvironment&lt;/font&gt;.DefaultRelayHostName,
solutionName, serviceName));&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
that didn't get you out of trouble when the URI change was released. We are now encouraged
to use the following when generating endpoint addresses in code: &lt;blockquote&gt; 
&lt;p&gt;
&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;font color="#008080"&gt;Uri&lt;/font&gt; address = &lt;font color="#008080"&gt;ServiceBusEnvironment&lt;/font&gt;.CreateServiceUri(&lt;font color="#800000"&gt;"sb"&lt;/font&gt;,
solutionName, serviceName);&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
This will give us an address in the new structure and protect us from any future changes
(but we heard that somewhere before didn't we). Also, be aware that (as of time of
posting) the published services feed is not listing your services correctly (but they
are still accessible). Your new published services feed will also be: &lt;blockquote&gt; 
&lt;p&gt;
&lt;font face="Courier New" color="#800000" size="2"&gt;http://[solution name].servicebus.windows.net/&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
In the coming days, the team at Breeze will be walking through the new goodies the
March CTP brings so look out for future posts (of particular interest is the queuing
and routing features we have now!). &lt;img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=7ecf7283-0313-4c22-beb9-12d9855e5bb8" /&gt;</description>
      <comments>http://blogs.breeze.net/scotts/CommentView,guid,7ecf7283-0313-4c22-beb9-12d9855e5bb8.aspx</comments>
      <category>BizTalk General</category>
      <category>Cloud Services</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/scotts/Trackback.aspx?guid=09631587-956f-40e5-a76e-09f41cd20fcf</trackback:ping>
      <pingback:server>http://blogs.breeze.net/scotts/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/scotts/PermaLink,guid,09631587-956f-40e5-a76e-09f41cd20fcf.aspx</pingback:target>
      <dc:creator>Scott Scovell</dc:creator>
      <wfw:comment>http://blogs.breeze.net/scotts/CommentView,guid,09631587-956f-40e5-a76e-09f41cd20fcf.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/scotts/SyndicationService.asmx/GetEntryCommentsRss?guid=09631587-956f-40e5-a76e-09f41cd20fcf</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This week I gave a presentation to the Sydney BizTalk User Group on <strong>(Biz)Talking
to the Cloud</strong>. I showed how we can quickly and easily configure a BizTalk
Receive Port to consume services hosted in the cloud. In the demo, we configured BizTalk
to participate in a multicast events scenario.
</p>
        <p>
I have been playing further with BizTalk and Cloud services and in this post I will
demonstrate how to expose BizTalk Orchestrations to the Cloud. To make it easy for
you to build this on your own environment, I have used the now famous (or infamous)
EchoService as the basis of this demo. This allows you to use the existing Microsoft
.NET Services SDK sample to call the BizTalk Orchestration through the cloud.
</p>
        <p>
          <strong>Before You Begin</strong>
        </p>
        <ol>
          <li>
Sign-up to Microsoft .NET Services and create your Solution.</li>
          <li>
Download the Microsoft .NET Services SDK and install on your BizTalk Server 2006 R2
development environment.<br /><em>Note: Nothing more is needed as far as BTS is concerned. I am pleased Microsoft
is making good on ensuring developers can use existing skills and technologies to
get started with cloud services. Furthermore, we can be fairly comfortable that playing
around with this stuff is not going to break or render our existing dev environment
useless. Credit where credit is due.</em></li>
        </ol>
        <p>
          <strong>BizTalk Development<br /><br /></strong>In this step we will create a simple orchestration that receives a generic
message, pulls the "echo" text out, creates the response message, and sends it back
out the two-way port. I have used System.Xml.XmlDocument types avoiding the need to
create schemas and simplifying the demo.
</p>
        <ol>
          <li>
In Visual Studio 2005, create a new Empty BizTalk project.</li>
          <li>
Go ahead and set your Assembly Key File and BizTalk Application project settings.
(I called my BizTalk App BizTalk Services as we will see later on)</li>
          <li>
Add a new Orchestration to the project.</li>
          <li>
Create the following messages:<br /></li>
        </ol>
        <table cellspacing="0" cellpadding="2" width="400" border="0">
          <tbody>
            <tr>
              <td valign="top" width="200">
                <strong>Name</strong>
              </td>
              <td valign="top" width="200">
                <strong>Type</strong>
              </td>
            </tr>
            <tr>
              <td valign="top" width="200">
msgRequest</td>
              <td valign="top" width="200">
System.Xml.XmlDocument</td>
            </tr>
            <tr>
              <td valign="top" width="200">
msgResponse</td>
              <td valign="top" width="200">
System.Xml.XmlDocument</td>
            </tr>
          </tbody>
        </table>
        <br />
        <li>
Create the following variables:<br /></li>
        <table cellspacing="0" cellpadding="2" width="400" border="0">
          <tbody>
            <tr>
              <td valign="top" width="200">
                <strong>Name</strong>
              </td>
              <td valign="top" width="200">
                <strong>Type</strong>
              </td>
            </tr>
            <tr>
              <td valign="top" width="200">
strText</td>
              <td valign="top" width="200">
string</td>
            </tr>
            <tr>
              <td valign="top" width="200">
strResponse</td>
              <td valign="top" width="200">
string</td>
            </tr>
            <tr>
              <td valign="top" width="200">
xmlDoc</td>
              <td valign="top" width="200">
System.Xml.XmlDocument</td>
            </tr>
          </tbody>
        </table>
        <br />
        <li>
Add the following shapes to the design surface<br /><br /><a href="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/orchestrationshapes.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="356" alt="orchestration shapes" src="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/orchestrationshapes_thumb.png" width="560" border="0" /></a><br /></li>
        <li>
In the Message Assignment shape enter the following code to construct the response
message:<br /></li>
        <blockquote>
          <pre class="csharpcode">
            <span class="rem">// Retrieve the text sent in
the request</span> strText = xpath(msgRequest, <span class="str">"string(//*[local-name()='text'])"</span>); <span class="rem">//
Construct the response</span> strResponse = System.String.Format(<span class="str">"&lt;EchoResponse
xmlns=\"http://samples.microsoft.com/ServiceModel/Relay/\"&gt;<br />
&lt;EchoResult&gt;{0}&lt;/EchoResult&gt;&lt;/EchoResponse&gt;"</span>, <span class="str">"BizTalk:
"</span> + strText); <span class="rem">// Create the response document</span> xmlDoc.LoadXml(strResponse); <span class="rem">//
Assign the response message variable</span> msgResponse = xmlDoc;<br /><br /></pre>
          <pre class="csharpcode">
            <br />
            <br />
            <br />
            <br />
 </pre>
        </blockquote>
        <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        <li>
Now add a Two-Way port setting the port Binding to <em>Specify Later</em> and the
Type Modifier to <em>Public</em>.<br /><em>Note: As we will be binding to a physical receive port, operation names are not
important here.</em></li>
        <li>
Wire up the port operations and don't forget to set the Activate property of the Receive
shape <img alt="smile_wink" src="http://spaces.live.com/rte/emoticons/smile_wink.gif" /></li>
        <li>
Build and deploy your project.<br /></li>
        <p>
          <strong>BizTalk Application Configuration</strong>
        </p>
        <p>
In this step we will configure a WCF-Custom receive port to expose our newly created
orchestration to the cloud.
</p>
        <ol>
          <li>
In BizTalk Server Administration Console, navigate to the BizTalk Application you
just deployed to (mine was called BizTalk Services).</li>
          <li>
Create a new Request-Response receive port.</li>
          <li>
Add a new receive location and set the Transport type to WCF-Custom.<br /><br /><a href="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/newrecvloc.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="316" alt="new recv loc" src="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/newrecvloc_thumb.png" width="394" border="0" /></a><br /></li>
          <li>
Configure the WCF-Custom adapter.</li>
          <li>
Set the EndPoint Address to: 
<br /><br /><strong>        sb://servicebus.windows.net/services/[your
solution name]/EchoService/</strong><br /></li>
          <li>
Set the Binding Type to NetTcpRelayBinding<br /><em>Note: This is one of the new bindings added when you installed the Microsoft .NET
Services SDK<br /><br /></em><a href="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/nettcprelaybinding.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="526" alt="nettcprelaybinding" src="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/nettcprelaybinding_thumb.png" width="396" border="0" /></a><br /></li>
          <li>
On the Behaviors tab, add a new behavior extension called <em>transportClientEndpointBehavior</em> to
the EndPointBehavior node.</li>
          <li>
Set the credentialType to UserNamePassword and enter your solution credentials on
the UserNamePassword element of the ClientCredentials node.<br /><em>Note: If you are using Windows CardSpace instead, set the transportClientEndpointBehavior
to use it here instead.</em><br /><br /><a href="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/transportclientbehavior.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="418" alt="transport client behavior" src="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/transportclientbehavior_thumb.png" width="392" border="0" /></a><br /></li>
          <li>
Click Apply and verify no errors occurred with your WCF-Custom adapter configuration.</li>
          <li>
Click OK to close the Adapter configuration dialog.</li>
          <li>
Set the Receive Handler to your BizTalk Server Application host.</li>
          <li>
Leave the Receive and Send piplines as PassThru (as we are not requiring xml parsing
of the messages we are sending and receiving).</li>
          <li>
Click OK to save the new receive location.</li>
          <li>
Do likewise for the receive port.</li>
          <li>
Now, configure your orchestration bindings and start the BizTalk application.</li>
        </ol>
        <p>
          <strong>Verify the Service is Exposed to the Cloud</strong>
        </p>
        <p>
In this step we will browse to your Microsoft .NET Services service registry feed
and verify your service is exposed to the cloud.
</p>
        <ol>
          <li>
Launch Internet Explorer and browse to the following URL:<br /><br /><strong>     http://servicebus.windows.net/services/[your solution
name]/</strong><br /></li>
          <li>
You should now see your service endpoint listed in the Atom feed.</li>
        </ol>
        <p>
          <strong>Test Your Solution</strong>
        </p>
        <ol>
          <li>
In Windows Explorer, navigate to the samples folder under the install folder for Microsoft
.NET Services SDK<br /><em>Note: If you installed to the default folder it should be C:\Program Files\Microsoft
.NET Services (Nov 2008 CTP) SDK\Samples</em></li>
          <li>
Locate the ServiceBus\GettingStarted\Echo sample and open your flavour of choice (C#/VB)</li>
          <li>
Build the Solution using VS 2008 
</li>
          <li>
Run the Client.exe</li>
          <li>
Enter your Solution name and password.</li>
          <li>
Enter some text to send to your service.</li>
          <li>
Verify the service response includes BizTalk: &lt;your echo text&gt;<br /><br /><a href="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/testing.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="125" alt="testing" src="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/testing_thumb.png" width="388" border="0" /></a></li>
        </ol>
        <p>
          <strong>What did we just do?</strong>
        </p>
        <p>
Using only the new WCF features that were installed in the Microsoft .NET Services
SDK we were able to configure a request-response receive port in BizTalk that exposed
our orchestration to the cloud. This is very cool <img alt="smile_shades" src="http://spaces.live.com/rte/emoticons/smile_shades.gif" />. 
</p>
        <p>
At the very least, we could do away with the orchestration binding and just configure
the receive port to drop messages into the BizTalk MsgBox. We then use content based
routing to route the messages off to our existing orchestrations. 
</p>
        <p>
Think of the times you wanted to expose your BizTalk services to customers and clients
outside your organisation, but had to jump all those hurdles the IT infrastructure
team seams to magically come up with.
</p>
        <p>
This is just the beginning...
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=09631587-956f-40e5-a76e-09f41cd20fcf" />
      </body>
      <title>Exposing BizTalk Orchestrations to the Cloud</title>
      <guid isPermaLink="false">http://blogs.breeze.net/scotts/PermaLink,guid,09631587-956f-40e5-a76e-09f41cd20fcf.aspx</guid>
      <link>http://blogs.breeze.net/scotts/2008/11/28/ExposingBizTalkOrchestrationsToTheCloud.aspx</link>
      <pubDate>Fri, 28 Nov 2008 11:35:49 GMT</pubDate>
      <description>&lt;p&gt;
This week I gave a presentation to the Sydney BizTalk User Group on &lt;strong&gt;(Biz)Talking
to the Cloud&lt;/strong&gt;. I showed how we can quickly and easily configure a BizTalk
Receive Port to consume services hosted in the cloud. In the demo, we configured BizTalk
to participate in a multicast events scenario.
&lt;/p&gt;
&lt;p&gt;
I have been playing further with BizTalk and Cloud services and in this post I will
demonstrate how to expose BizTalk Orchestrations to the Cloud. To make it easy for
you to build this on your own environment, I have used the now famous (or infamous)
EchoService as the basis of this demo. This allows you to use the existing Microsoft
.NET Services SDK sample to call the BizTalk Orchestration through the cloud.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Before You Begin&lt;/strong&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Sign-up to Microsoft .NET Services and create your Solution.&lt;/li&gt;
&lt;li&gt;
Download the Microsoft .NET Services SDK and install on your BizTalk Server 2006 R2
development environment.&lt;br&gt;
&lt;em&gt;Note: Nothing more is needed as far as BTS is concerned. I am pleased Microsoft
is making good on ensuring developers can use existing skills and technologies to
get started with cloud services. Furthermore, we can be fairly comfortable that playing
around with this stuff is not going to break or render our existing dev environment
useless. Credit where credit is due.&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;strong&gt;BizTalk Development&lt;br&gt;
&lt;br&gt;
&lt;/strong&gt;In this step we will create a simple orchestration that receives a generic
message, pulls the "echo" text out, creates the response message, and sends it back
out the two-way port. I have used System.Xml.XmlDocument types avoiding the need to
create schemas and simplifying the demo.
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
In Visual Studio 2005, create a new Empty BizTalk project.&lt;/li&gt;
&lt;li&gt;
Go ahead and set your Assembly Key File and BizTalk Application project settings.
(I called my BizTalk App BizTalk Services as we will see later on)&lt;/li&gt;
&lt;li&gt;
Add a new Orchestration to the project.&lt;/li&gt;
&lt;li&gt;
Create the following messages:&lt;br&gt;
&lt;/li&gt;
&lt;table cellspacing="0" cellpadding="2" width="400" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="200"&gt;
&lt;strong&gt;Name&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="200"&gt;
&lt;strong&gt;Type&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="200"&gt;
msgRequest&lt;/td&gt;
&lt;td valign="top" width="200"&gt;
System.Xml.XmlDocument&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="200"&gt;
msgResponse&lt;/td&gt;
&lt;td valign="top" width="200"&gt;
System.Xml.XmlDocument&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
&lt;li&gt;
Create the following variables:&lt;br&gt;
&lt;/li&gt;
&lt;table cellspacing="0" cellpadding="2" width="400" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="200"&gt;
&lt;strong&gt;Name&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="200"&gt;
&lt;strong&gt;Type&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="200"&gt;
strText&lt;/td&gt;
&lt;td valign="top" width="200"&gt;
string&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="200"&gt;
strResponse&lt;/td&gt;
&lt;td valign="top" width="200"&gt;
string&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="200"&gt;
xmlDoc&lt;/td&gt;
&lt;td valign="top" width="200"&gt;
System.Xml.XmlDocument&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
&lt;li&gt;
Add the following shapes to the design surface&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/orchestrationshapes.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="356" alt="orchestration shapes" src="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/orchestrationshapes_thumb.png" width="560" border="0"&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
In the Message Assignment shape enter the following code to construct the response
message:&lt;br&gt;
&lt;/li&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;// Retrieve the text sent in
the request&lt;/span&gt; strText = xpath(msgRequest, &lt;span class="str"&gt;"string(//*[local-name()='text'])"&lt;/span&gt;); &lt;span class="rem"&gt;//
Construct the response&lt;/span&gt; strResponse = System.String.Format(&lt;span class="str"&gt;"&amp;lt;EchoResponse
xmlns=\"http://samples.microsoft.com/ServiceModel/Relay/\"&amp;gt;&lt;br&gt;
&amp;lt;EchoResult&amp;gt;{0}&amp;lt;/EchoResult&amp;gt;&amp;lt;/EchoResponse&amp;gt;"&lt;/span&gt;, &lt;span class="str"&gt;"BizTalk:
"&lt;/span&gt; + strText); &lt;span class="rem"&gt;// Create the response document&lt;/span&gt; xmlDoc.LoadXml(strResponse); &lt;span class="rem"&gt;//
Assign the response message variable&lt;/span&gt; msgResponse = xmlDoc;&lt;br&gt;
&lt;br&gt;
&lt;/pre&gt;&lt;pre class="csharpcode"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&lt;/pre&gt;&lt;/blockquote&gt; &lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;li&gt;
Now add a Two-Way port setting the port Binding to &lt;em&gt;Specify Later&lt;/em&gt; and the
Type Modifier to &lt;em&gt;Public&lt;/em&gt;.&lt;br&gt;
&lt;em&gt;Note: As we will be binding to a physical receive port, operation names are not
important here.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
Wire up the port operations and don't forget to set the Activate property of the Receive
shape &lt;img alt="smile_wink" src="http://spaces.live.com/rte/emoticons/smile_wink.gif"&gt;
&lt;/li&gt;
&lt;li&gt;
Build and deploy your project.&lt;br&gt;
&lt;/li&gt;&gt;
&lt;p&gt;
&lt;strong&gt;BizTalk Application Configuration&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
In this step we will configure a WCF-Custom receive port to expose our newly created
orchestration to the cloud.
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
In BizTalk Server Administration Console, navigate to the BizTalk Application you
just deployed to (mine was called BizTalk Services).&lt;/li&gt;
&lt;li&gt;
Create a new Request-Response receive port.&lt;/li&gt;
&lt;li&gt;
Add a new receive location and set the Transport type to WCF-Custom.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/newrecvloc.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="316" alt="new recv loc" src="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/newrecvloc_thumb.png" width="394" border="0"&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Configure the WCF-Custom adapter.&lt;/li&gt;
&lt;li&gt;
Set the EndPoint Address to: 
&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sb://servicebus.windows.net/services/[your
solution name]/EchoService/&lt;/strong&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Set the Binding Type to NetTcpRelayBinding&lt;br&gt;
&lt;em&gt;Note: This is one of the new bindings added when you installed the Microsoft .NET
Services SDK&lt;br&gt;
&lt;br&gt;
&lt;/em&gt;&lt;a href="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/nettcprelaybinding.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="526" alt="nettcprelaybinding" src="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/nettcprelaybinding_thumb.png" width="396" border="0"&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
On the Behaviors tab, add a new behavior extension called &lt;em&gt;transportClientEndpointBehavior&lt;/em&gt; to
the EndPointBehavior node.&lt;/li&gt;
&lt;li&gt;
Set the credentialType to UserNamePassword and enter your solution credentials on
the UserNamePassword element of the ClientCredentials node.&lt;br&gt;
&lt;em&gt;Note: If you are using Windows CardSpace instead, set the transportClientEndpointBehavior
to use it here instead.&lt;/em&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/transportclientbehavior.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="418" alt="transport client behavior" src="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/transportclientbehavior_thumb.png" width="392" border="0"&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Click Apply and verify no errors occurred with your WCF-Custom adapter configuration.&lt;/li&gt;
&lt;li&gt;
Click OK to close the Adapter configuration dialog.&lt;/li&gt;
&lt;li&gt;
Set the Receive Handler to your BizTalk Server Application host.&lt;/li&gt;
&lt;li&gt;
Leave the Receive and Send piplines as PassThru (as we are not requiring xml parsing
of the messages we are sending and receiving).&lt;/li&gt;
&lt;li&gt;
Click OK to save the new receive location.&lt;/li&gt;
&lt;li&gt;
Do likewise for the receive port.&lt;/li&gt;
&lt;li&gt;
Now, configure your orchestration bindings and start the BizTalk application.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;strong&gt;Verify the Service is Exposed to the Cloud&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
In this step we will browse to your Microsoft .NET Services service registry feed
and verify your service is exposed to the cloud.
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Launch Internet Explorer and browse to the following URL:&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; http://servicebus.windows.net/services/[your solution
name]/&lt;/strong&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
You should now see your service endpoint listed in the Atom feed.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;strong&gt;Test Your Solution&lt;/strong&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
In Windows Explorer, navigate to the samples folder under the install folder for Microsoft
.NET Services SDK&lt;br&gt;
&lt;em&gt;Note: If you installed to the default folder it should be C:\Program Files\Microsoft
.NET Services (Nov 2008 CTP) SDK\Samples&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
Locate the ServiceBus\GettingStarted\Echo sample and open your flavour of choice (C#/VB)&lt;/li&gt;
&lt;li&gt;
Build the Solution using VS 2008 
&lt;/li&gt;
&lt;li&gt;
Run the Client.exe&lt;/li&gt;
&lt;li&gt;
Enter your Solution name and password.&lt;/li&gt;
&lt;li&gt;
Enter some text to send to your service.&lt;/li&gt;
&lt;li&gt;
Verify the service response includes BizTalk: &amp;lt;your echo text&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/testing.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="125" alt="testing" src="http://www.breezetraining.com.au/blogs/scotts/content/binary/ExposingBizTalkOrchestrationstotheCloud_E780/testing_thumb.png" width="388" border="0"&gt;&lt;/a&gt; 
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;strong&gt;What did we just do?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Using only the new WCF features that were installed in the Microsoft .NET Services
SDK we were able to configure a request-response receive port in BizTalk that exposed
our orchestration to the cloud. This is very cool &lt;img alt="smile_shades" src="http://spaces.live.com/rte/emoticons/smile_shades.gif"&gt;. 
&lt;/p&gt;
&lt;p&gt;
At the very least, we could do away with the orchestration binding and just configure
the receive port to drop messages into the BizTalk MsgBox. We then use content based
routing to route the messages off to our existing orchestrations. 
&lt;/p&gt;
&lt;p&gt;
Think of the times you wanted to expose your BizTalk services to customers and clients
outside your organisation, but had to jump all those hurdles the IT infrastructure
team seams to magically come up with.
&lt;/p&gt;
&lt;p&gt;
This is just the beginning...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/scotts/aggbug.ashx?id=09631587-956f-40e5-a76e-09f41cd20fcf" /&gt;</description>
      <comments>http://blogs.breeze.net/scotts/CommentView,guid,09631587-956f-40e5-a76e-09f41cd20fcf.aspx</comments>
      <category>BizTalk General</category>
      <category>Cloud Services</category>
      <category>Windows Azure</category>
    </item>
  </channel>
</rss>