<feed xmlns:dc="http://purl.org/dc/elements/1.1/" 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="http://www.w3.org/2005/Atom" xml:lang="en-US">
    <title>Stephen Myers</title>
    <link rel="self" type="application/xml" href="http://geekswithblogs.net/smyers/Atom.aspx" />
    <subtitle type="html"> Good Times with .Net</subtitle>
    <id>http://geekswithblogs.net/smyers/Default.aspx</id>
    <author>
        <name>smyers</name>
        <uri>http://geekswithblogs.net/smyers/Default.aspx</uri>
    </author>
    <generator uri="http://subtextproject.com" version="Subtext Version 0.0.0.0">Subtext</generator>
    <updated>2011-10-25T12:01:29Z</updated>
    <entry>
        <title>WCF Service Message Timeouts, Size Limits, Tips and Tricks</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/smyers/archive/2011/10/05/wcf-service-message-timeouts-size-limits-tips-and-tricks.aspx" />
        <id>http://geekswithblogs.net/smyers/archive/2011/10/05/wcf-service-message-timeouts-size-limits-tips-and-tricks.aspx</id>
        <published>2011-10-05T16:23:21-05:00:00</published>
        <updated>2011-10-07T12:41:53Z</updated>
        <summary type="html">Is your WFC Service hitting the Maximum Limits set on the default service configurations? Are you using the configuration editor to make your life easier?  Are you using the WCF Test client to call your service during engineering test?  What about security?  What do you do about WCF calls that appear to die silently?  
CLICK THROUGH FOR DETAILS</summary>
        <content type="html">&lt;div style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri"&gt;Is your WFC Service hitting the Maximum Limits set on the default service configurations? Open up the artificial constraints of the WCF Service Debugging WCF Services and message sizes. Caveat emptor: If you need to increase the size of the of the contracts, it probably indicates that you should reexamine the design of your data contract.  In any case, to “Open Up” the service, you will need to set on both the client and server side configurations:&lt;/font&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;&lt;font face="Calibri"&gt;1.&lt;/font&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt; Timeouts&lt;/font&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;&lt;font face="Calibri"&gt;2.&lt;/font&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Message Sizes&lt;/font&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 10pt 0.5in"&gt;&lt;span&gt;&lt;font face="Calibri"&gt;3.&lt;/font&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Max Objects In Graph&lt;/font&gt;&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="5"&gt;&lt;font color="#4f81bd" size="4" face="Cambria"&gt;Service side configurations&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;system.serviceModel&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;behaviors&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue"&gt;      &amp;lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: #a31515"&gt;serviceBehaviors&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue"&gt;        &amp;lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: #a31515"&gt;behavior&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: red"&gt;name&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas"&gt;"&lt;span style="color: blue"&gt;Server.WcfService.MyServiceBehavior&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue"&gt;          &amp;lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: #a31515"&gt;serviceMetadata &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: red"&gt;httpGetEnabled&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas"&gt;"&lt;span style="color: blue"&gt;true&lt;/span&gt;" &lt;span style="color: red"&gt;httpsGetEnabled&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;false&lt;/span&gt;"&lt;span style="color: blue"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue"&gt;          &amp;lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: #a31515"&gt;serviceDebug &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: red"&gt;includeExceptionDetailInFaults&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas"&gt;"&lt;span style="color: blue"&gt;true&lt;/span&gt;"&lt;span style="color: blue"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue"&gt;          &amp;lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: #a31515"&gt;dataContractSerializer &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: red"&gt;maxItemsInObjectGraph&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas"&gt;"&lt;span style="color: blue"&gt;2147483647&lt;/span&gt;"&lt;span style="color: blue"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue"&gt;        &amp;lt;/&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: #a31515"&gt;behavior&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue"&gt;      &amp;lt;/&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: #a31515"&gt;serviceBehaviors&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;behaviors&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;services&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;service &lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt"&gt;behaviorConfiguration&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;Server.WcfService.MyServiceBehavior&lt;/span&gt;"&lt;span style="color: blue"&gt; &lt;br /&gt;
       &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;Server.WcfService.MyService&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 42pt"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;endpoint &lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt"&gt;address&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;http://MyServer:1260/MyService.svc&lt;/span&gt;"&lt;span style="color: blue"&gt; &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: red"&gt;binding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;wsHttpBinding&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 42pt"&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt"&gt;bindingConfiguration&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;MyServiceBinding&lt;/span&gt;"&lt;span style="color: blue"&gt; &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: red"&gt;contract&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Server.WcfService.IMyService&lt;/span&gt;"&lt;span style="color: blue"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;        &amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;endpoint &lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt"&gt;address&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;mex&lt;/span&gt;" &lt;span style="color: red"&gt;binding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;mexHttpBinding&lt;/span&gt;" &lt;span style="color: red"&gt;contract&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;IMetadataExchange&lt;/span&gt;"&lt;span style="color: blue"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;      &amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;service&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;services&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;bindings&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;wsHttpBinding&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt"&gt;        &amp;lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 12pt"&gt;binding &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: red; font-size: 12pt"&gt;name&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;MyServiceBinding&lt;/span&gt;"&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt"&gt;                 &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: red; font-size: 12pt"&gt;maxReceivedMessageSize&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;2147483647&lt;/span&gt;"&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt"&gt;                 &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: red; font-size: 12pt"&gt;openTimeout&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;00:10:00&lt;/span&gt;"&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt"&gt;                 &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: red; font-size: 12pt"&gt;receiveTimeout&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;00:10:00&lt;/span&gt;"&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt"&gt;                 &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: red; font-size: 12pt"&gt;sendTimeout&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;00:10:00&lt;/span&gt;"&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt"&gt;                 &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: red; font-size: 12pt"&gt;closeTimeout&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;00:10:00&lt;/span&gt;"&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt"&gt;                 &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: red; font-size: 12pt"&gt;maxBufferPoolSize&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Consolas; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;2147483647&lt;/span&gt;"&lt;span style="color: blue"&gt; &amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;        &amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;binding&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;      &amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;wsHttpBinding&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;bindings&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt; &amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt"&gt;system.serviceModel&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="5"&gt;&lt;font color="#4f81bd" size="4" face="Cambria"&gt;Client side configurations&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;system.serviceModel&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;bindings&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;wsHttpBinding&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 1in"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;binding &lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;name&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;WSHttpBinding_IMyService&lt;/span&gt;"&lt;span style="color: blue"&gt; &lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 12pt"&gt;closeTimeout&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;00:10:00&lt;/span&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt; &lt;br /&gt;
&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 12pt"&gt;openTimeout&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;00:10:00&lt;/span&gt;"&lt;span style="color: blue"&gt; &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: red"&gt;receiveTimeout&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;00:10:00&lt;/span&gt;"&lt;span style="color: blue"&gt; &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: red"&gt;sendTimeout&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;00:10:00&lt;/span&gt;"&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;bypassProxyOnLocal&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;false&lt;/span&gt;"&lt;br /&gt;
&lt;span style="color: red"&gt;transactionFlow&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;false&lt;/span&gt;"&lt;br /&gt;
&lt;span style="color: red"&gt;hostNameComparisonMode&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;StrongWildcard&lt;/span&gt;"&lt;br /&gt;
&lt;span style="color: red"&gt;maxBufferPoolSize&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;span&gt;&lt;strong&gt;=&lt;font color="#000000"&gt;"&lt;/font&gt;&lt;span style="color: blue"&gt;2147483647&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;&lt;font color="#000000"&gt;"&lt;/font&gt;&lt;span style="color: blue"&gt; &lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 12pt"&gt;maxReceivedMessageSize&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;2147483647&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt; &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: red"&gt;messageEncoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Text&lt;/span&gt;"&lt;br /&gt;
&lt;span style="color: red"&gt;textEncoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;utf-8&lt;/span&gt;"&lt;br /&gt;
&lt;span style="color: red"&gt;useDefaultWebProxy&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;true&lt;/span&gt;"&lt;br /&gt;
&lt;span style="color: red"&gt;allowCookies&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;false&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;readerQuotas &lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;maxDepth&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;32&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 1in"&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 12pt"&gt;maxStringContentLength&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;2147483647&lt;/span&gt;"&lt;br /&gt;
&lt;span style="color: red"&gt;maxArrayLength&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;2147483647&lt;/span&gt;"&lt;span style="color: blue"&gt; &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: red"&gt;maxBytesPerRead&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;2147483647&lt;/span&gt;"&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 1in"&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 12pt"&gt;maxNameTableCharCount&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;2147483647&lt;/span&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt; /&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;reliableSession&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;ordered&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;true&lt;/span&gt;"&lt;br /&gt;
&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 12pt"&gt;inactivityTimeout&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;00:10:00&lt;/span&gt;"&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;enabled&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;false&lt;/span&gt;"&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;        &amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;binding&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;      &amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;wsHttpBinding&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;bindings&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;client&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;endpoint &lt;br /&gt;
&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;address&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;=&lt;a href="http://myserver/MyService.svc"&gt;http://MyServer/MyService.svc&lt;/a&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;binding&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;wsHttpBinding&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;bindingConfiguration&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;WSHttpBinding_IMyService&lt;/span&gt;"&lt;br /&gt;
&lt;span style="color: red"&gt;contract&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;MyServiceReference.IMyService&lt;/span&gt;"&lt;br /&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;WSHttpBinding_IMyService&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;    &lt;/span&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;  &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 12pt"&gt;behaviorConfiguration&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;MyServiceBehavior&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;client&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;behaviors&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;      &amp;lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 12pt"&gt;endpointBehaviors&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;        &amp;lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 12pt"&gt;behavior &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 12pt"&gt;name&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;MyServiceBehavior&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 1in"&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;&amp;lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 12pt"&gt;dataContractSerializer&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt; &lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 12pt"&gt;maxItemsInObjectGraph&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt"&gt;"&lt;span style="color: blue"&gt;2147483647&lt;/span&gt;"&lt;span style="color: blue"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;        &amp;lt;/&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 12pt"&gt;behavior&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;      &amp;lt;/&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 12pt"&gt;endpointBehaviors&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 12pt"&gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;behaviors&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;span style="line-height: 115%; font-family: 'Courier New'; color: blue; font-size: 10pt"&gt; &amp;lt;/&lt;/span&gt;&lt;span style="line-height: 115%; font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;system.serviceModel&lt;/span&gt;&lt;span style="line-height: 115%; font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri"&gt;What is this &lt;/font&gt;&lt;a href="http://en.wikipedia.org/wiki/2147483647"&gt;&lt;font face="Calibri"&gt;2,147,483,647&lt;/font&gt;&lt;/a&gt;&lt;font face="Calibri"&gt;business? It is equal to 2&lt;sup&gt;31&lt;/sup&gt; – 1, the max value of a 32 bit signed integer. &lt;/font&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri"&gt;When setting these tags, you should save yourself some headaches and use the &lt;/font&gt;&lt;span style="color: black"&gt;&lt;font face="Calibri"&gt;Configuration Editor (SvcConfigEditor.exe):&lt;br /&gt;
&lt;/font&gt;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms732009.aspx"&gt;&lt;font face="Calibri"&gt;http://msdn.microsoft.com/en-us/library/ms732009.aspx&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri"&gt;To test out your developed client, you can call the WCF service directly without writing your own client. Microsoft has provided one: &lt;br /&gt;
&lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb552364.aspx"&gt;&lt;font face="Calibri"&gt;http://msdn.microsoft.com/en-us/library/bb552364.aspx&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri"&gt;Security: use it. Make sure your client and service side tags match. You may have noticed that it is absent from the above example.  That means that it is going to use the default which is Message for this particular binding type.  &lt;br /&gt;
&lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms731059.aspx"&gt;&lt;font face="Calibri"&gt;http://msdn.microsoft.com/en-us/library/ms731059.aspx&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri"&gt;When the errors you are receiving don’t seem to make any sense, you can add robust diagnostics by adding the following tag (make sure the service has write access to the location specified in the InitializeData):&lt;/font&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt; &amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;system.diagnostics&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;trace &lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;autoflush&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;true&lt;/span&gt;"&lt;span style="color: blue"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;sources&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;source &lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;name&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;System.ServiceModel&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;              &lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;switchValue&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;Information, ActivityTracing&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;              &lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;propagateActivity&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;true&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;        &amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;listeners&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;          &amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;add &lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;name&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;sdt&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;              &lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;type&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;System.Diagnostics.XmlWriterTraceListener&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;              &lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: red; font-size: 10pt"&gt;initializeData&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;"&lt;span style="color: blue"&gt;serviceLog.svcLog&lt;/span&gt;"&lt;span style="color: blue"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;        &amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;listeners&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;      &amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;source&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;sources&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;span style="line-height: 115%; font-family: 'Courier New'; color: blue; font-size: 10pt"&gt; &amp;lt;/&lt;/span&gt;&lt;span style="line-height: 115%; font-family: 'Courier New'; color: #a31515; font-size: 10pt"&gt;system.diagnostics&lt;/span&gt;&lt;span style="line-height: 115%; font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri"&gt;Call the WCF Service and then view the output file with the SVC Trace viewer tool:&lt;br /&gt;
&lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms732023.aspx"&gt;&lt;font color="#800080" face="Calibri"&gt;http://msdn.microsoft.com/en-us/library/ms732023.aspx&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geekswithblogs.net/smyers/aggbug/147193.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/smyers/comments/147193.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/smyers/comments/commentRss/147193.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/smyers/services/trackbacks/147193.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Salient Qualities of Effective SCRUM</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/smyers/archive/2011/10/05/salient-qualities-of-effective-scrum.aspx" />
        <id>http://geekswithblogs.net/smyers/archive/2011/10/05/salient-qualities-of-effective-scrum.aspx</id>
        <published>2011-10-05T13:59:31-05:00:00</published>
        <updated>2011-10-25T12:01:29Z</updated>
        <summary type="html">Does your scrum take 15 minutes or less and effectively communicate what everyone is working on to identify synergies and roadblocks? Or does it tread closer to an hour and disintegrate into squabbling over technical details of implementation? I have been to both of these scrums and everywhere in between. Here are the qualities I have identified in successful scrums versus the ones that put me to sleep.   </summary>
        <content type="html">&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt; The SCRUM must be short and NOT exceed 15 minutes daily. Achieve this with a Timekeeper. The Timekeeper role should rotate daily and the timekeeper should be fined $1 if the SCRUM does not start on time by opening the call in line and closing the door or if the SCRUM exceeds 15 minutes. &lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;2.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Team members must be on time for the SCRUM or be fined $1. To have productive developers, the SCRUM should be run at a reasonable time – a morning stand up should be a good way to share information and start a productive day, not a wake-up call to get Asses in seats or chastise developers who are not early risers.   &lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;3.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Use a SCRUM Board. The board should consist of a list of each: milestones, issues, and risks with due dates as they apply to the team. There is also a team member component where each team member’s name is on one axis and two weeks’ worth of dates forward on the other axis. In each box, team members should put any Time off or what they plan on working on that day. This should be completely updated for the current week going forward before SCRUM on Monday morning or team members should be fined $1. &lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;4.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;The format should be that each team member in the circle tells briefly what they are working on and any issues or risks that are going to cause the work to stall or miss deadlines. The timekeeper must keep the SCRUM moving by deciding when a topic is getting too deep and should be moved to a breakout session with the appropriate parties. The Team Leaders should go over the issues and risks to make sure that they have owners.   &lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 10pt 0.5in"&gt;&lt;span&gt;5.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Fine Money can be used to purchase beer or something else for the team. &lt;/div&gt;&lt;img src="http://geekswithblogs.net/smyers/aggbug/147191.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/smyers/comments/147191.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/smyers/comments/commentRss/147191.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/smyers/services/trackbacks/147191.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Connecting MVC to a SunOne LDAP store by implementing a custom Membership Provider</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/smyers/archive/2011/06/02/connecting-mvc-to-a-sunone-ldap-store-membership.aspx" />
        <id>http://geekswithblogs.net/smyers/archive/2011/06/02/connecting-mvc-to-a-sunone-ldap-store-membership.aspx</id>
        <published>2011-06-02T16:22:37-05:00:00</published>
        <updated>2011-06-22T08:54:52Z</updated>
        <summary type="html">LDAP is not Active Directory, though Active Directory is LDAP. As someone who drinks the Microsoft Kool-Aid, I found myself using LDAP for something other than Active Directory and I thought I should share what I have found. The problem domain was to connect a new MVC application to an existing Sun One LDAP Store. 
Click through for the code...</summary>
        <content type="html">&lt;div style="margin: 0in 0in 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Arial"&gt;LDAP is not Active Directory, though Active Directory is LDAP. As someone who drinks the Microsoft Kool-Aid, I found myself using LDAP for something other than Active Directory and I thought I should share what I have found. The problem domain was to connect a new MVC application to an existing Sun One LDAP Store. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Arial"&gt;First off, authenticating an MVC application using forms mode authentication and the Membership providers is straight forward. Start with the ASP.NET MVC 2 Web Application Template that comes out of the box with Visual Studio 2010 when you create a new project and it will have the code to use forms authentication with the membership provider model built in. In the web.config, add the tag:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;authentication&lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;mode&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;Forms&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-indent: 0.5in"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;forms &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;loginUrl&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;~/Account/LogOn&lt;/span&gt;"&lt;span style="color: red"&gt;timeout&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;2880&lt;/span&gt;"&lt;span style="color: blue"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;authentication&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Arial"&gt;This  points to the \Controllers\AccountController.cs class which already contains the code that you need to perform the authentication. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Arial"&gt;Now for the Membership provider… If you were using Active Directory, you could just use the Active Directory Membership provider, and be done without writing a lick of C# code:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.security.activedirectorymembershipprovider.aspx"&gt;&lt;font color="#800080"&gt;http://msdn.microsoft.com/en-us/library/system.web.security.activedirectorymembershipprovider.aspx&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;membership&lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;defaultProvider&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;AspNetActiveDirectoryMembershipProvider&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;   &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;providers&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;     &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;add&lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;name&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;AspNetActiveDirectoryMembershipProvider&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;       &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;type&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;System.Web.Security.ActiveDirectoryMembershipProvider, &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;       System.Web, Version=2.0.3600, Culture=neutral, &lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;       PublicKeyToken=b03f5f7f11d50a3a&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;   &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;providers&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;membership&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Arial"&gt;However, since we are looking at SunOne, we need to use the Generic LDAP Membership provider. Unfortunately, this provider is only included with SharePoint. If you are working in an environment where you have access to this, check out for another code-free solution: &lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms517148.aspx"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Arial"&gt;&lt;font color="#800080"&gt;http://msdn.microsoft.com/en-us/library/ms517148.aspx&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Arial"&gt;Otherwise, all that you need to do is implement a membership provider that speaks vanilla LDAP so it can connect to the SunOne store and there you go. Please keep in mind the scope of this blog is only to authenticate to the SunOne store, not to be able to manage it, though carrying this implementation through to that level if needed should be pretty straight forward. The general strategy for implementing the authentication check is a little bit different than I would have expected. I would have expected to authenticate to the LDAP provider using some sort of administrative credential and then calling a “Check Password” function of some kind. The actual way to do it is bind to the LDAP server using the credentials passed in for authentication, and if the bind is successful, then Authentication = true, else, especially in the case of exception is false. I don’t like programming to exceptions so if someone has a better approach, please reply. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Arial"&gt;In order to do this, create a new project with an output type of class library. Create a public class which will match your configuration file and have it implement MembershipProvider. You can then right click on MemberShipProvider and select “Implement Interface”  in order to generate method stubs. Then create a helper class to do the actual work. The AspNetSunOneMemebershipProvider class listing below has been truncated to exclude the methods which I did not implement. In order to compile this you will need to implement them.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&lt;span style="background-color: yellow"&gt;File: AspNetSunOneMembershipProvider.cs &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; System;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; System.Collections.Generic;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; System.Text;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; System.Web.Security;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; System.DirectoryServices;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;namespace&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; SunOne&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;    &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;AspNetSunOneMembershipProvider&lt;/span&gt; : &lt;span style="color: #2b91af"&gt;MembershipProvider&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: green"&gt;// Password to SunOneMembershipProviderKey.pfx is SunOne&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: #2b91af"&gt;SunOneHelper&lt;/span&gt; _helper;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt; _applicationName;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;override&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Initialize(&lt;span style="color: blue"&gt;string&lt;/span&gt; name, System.Collections.Specialized.&lt;span style="color: #2b91af"&gt;NameValueCollection&lt;/span&gt; config)&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: green"&gt;// Overriding the Initialize method allows us access to the NameValueCollection that &lt;br /&gt;
            //  is read from the XML attributes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: green"&gt;// in the web.config file.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: blue"&gt;string&lt;/span&gt; ldapServer = config[&lt;span style="color: #a31515"&gt;"LDAPServer"&lt;/span&gt;];&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: blue"&gt;string&lt;/span&gt; userNameConnectString = config[&lt;span style="color: #a31515"&gt;"UserNameConnectString"&lt;/span&gt;];&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: green"&gt;// Scott Gu says always set the app name&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: green"&gt;// http://weblogs.asp.net/scottgu/archive/2006/04/22/Always-set-the-_2200_applicationName_2200_-property-when-configuring-ASP.NET-2.0-Membership-and-other-Providers.aspx&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            ApplicationName = config[&lt;span style="color: #a31515"&gt;"ApplicationName"&lt;/span&gt;];&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            _helper = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;SunOneHelper&lt;/span&gt;(ldapServer, userNameConnectString);&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: blue"&gt;base&lt;/span&gt;.Initialize(name, config);&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;override&lt;/span&gt; &lt;span style="color: blue"&gt;bool&lt;/span&gt; ValidateUser(&lt;span style="color: blue"&gt;string&lt;/span&gt; username, &lt;span style="color: blue"&gt;string&lt;/span&gt; password)&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: blue"&gt;return&lt;/span&gt; _helper.ValidateUser(username, password);&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;override&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt; ApplicationName&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: blue"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                &lt;span style="color: blue"&gt;return&lt;/span&gt; _applicationName;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: blue"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                _applicationName = &lt;span style="color: blue"&gt;value&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;override&lt;/span&gt; &lt;span style="color: #2b91af"&gt;MembershipUser&lt;/span&gt; GetUser(&lt;span style="color: blue"&gt;object&lt;/span&gt; providerUserKey, &lt;span style="color: blue"&gt;bool&lt;/span&gt; userIsOnline)&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;           &lt;span style="color: blue"&gt;return&lt;/span&gt; GetUser(providerUserKey.ToString(), userIsOnline);&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;p&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;&lt;span style="background-color: yellow"&gt;File SunOneHelper.cs&lt;/span&gt; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;span style="color: blue; font-size: 9.5pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; System;&lt;/span&gt;&lt;/p&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; System.Collections.Generic;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; System.Configuration;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; System.DirectoryServices.ActiveDirectory;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; System.DirectoryServices.Protocols;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; System.DirectoryServices;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; System.Security.Cryptography.X509Certificates;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; System.Net;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; System.Text;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;namespace&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; SunOne&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;    &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;SunOneHelper&lt;/span&gt; : &lt;span style="color: #2b91af"&gt;IDisposable&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;        #region&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; Member Variables&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt; Server { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt; UserNameConnectString { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: #2b91af"&gt;LdapConnection&lt;/span&gt; _con;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;        #endregion&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;        #region&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; Constructor&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; construcor&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;remarks&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; Standard LDAP ports:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt;     LDAP = 389&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt;     LDAP SSL = 636&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/remarks&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: blue"&gt;public&lt;/span&gt; SunOneHelper(&lt;span style="color: blue"&gt;string&lt;/span&gt; server, &lt;span style="color: blue"&gt;string&lt;/span&gt; userNameConnectString)&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            Server = server;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            UserNameConnectString = userNameConnectString;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;        #endregion&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;        #region&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; Public Methods&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; Cleanup connection if we have one&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Dispose()&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: blue"&gt;try&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                &lt;span style="color: blue"&gt;if&lt;/span&gt; (_con != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                    _con.Dispose();&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: blue"&gt;catch&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; Validate an LDAP user and password by attempting to log on. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;remarks&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; This method catchs log on exceptions, &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; preferably in DirectoryServicesCOMException but always in the generic &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; exception below and returns false to indicate that the logon failed. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/remarks&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;true if logon is successful; otherwise false&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;bool&lt;/span&gt; ValidateUser(&lt;span style="color: blue"&gt;string&lt;/span&gt; username, &lt;span style="color: blue"&gt;string&lt;/span&gt; password)&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: blue"&gt;bool&lt;/span&gt; authenticated = &lt;span style="color: blue"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: blue"&gt;try&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                &lt;span style="color: blue"&gt;if&lt;/span&gt; (_con != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                    _con.Dispose();&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                    _con = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                &lt;span style="color: blue"&gt;string&lt;/span&gt; connectString = UserNameConnectString.Replace(&lt;span style="color: #a31515"&gt;"{0}"&lt;/span&gt;, username);&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                _con = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;LdapConnection&lt;/span&gt;(&lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;LdapDirectoryIdentifier&lt;/span&gt;(Server));&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                _con.AutoBind = &lt;span style="color: blue"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                _con.SessionOptions.AutoReconnect = &lt;span style="color: blue"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                &lt;span style="color: green"&gt;// no ssl, setup the certficate callbacks&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                _con.SessionOptions.SecureSocketLayer = &lt;span style="color: blue"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                _con.SessionOptions.VerifyServerCertificate = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                _con.SessionOptions.QueryClientCertificate = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;             &lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;   _con.AuthType = &lt;span style="color: #2b91af"&gt;AuthType&lt;/span&gt;.Basic;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                &lt;span style="color: green"&gt;// try the connection&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                _con.Bind(&lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;NetworkCredential&lt;/span&gt;(connectString, password));&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                _con.Dispose();&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                authenticated = &lt;span style="color: blue"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: blue"&gt;catch&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;DirectoryServicesCOMException&lt;/span&gt; cex)&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                &lt;span style="color: green"&gt;//not authenticated; reason why is in cex         &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                authenticated = &lt;span style="color: blue"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: blue"&gt;catch&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;Exception&lt;/span&gt; ex)&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                &lt;span style="color: green"&gt;//not authenticated due to some other exception        &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                authenticated = &lt;span style="color: blue"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: blue"&gt;finally&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                _con.Dispose();&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;                _con = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;            &lt;span style="color: blue"&gt;return&lt;/span&gt; authenticated;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;        #endregion&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="font-size: 9.5pt"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;You can then either deploy this assembly locally to the MVC application, or preferably, install it in the GAC. If you want to install it in the GAC of the Web Server, sign the assembly: &lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/ms247123(v=vs.80).aspx"&gt;&lt;font color="#800080"&gt;http://msdn.microsoft.com/en-us/library/ms247123(v=vs.80).aspx&lt;/font&gt;&lt;/a&gt; &lt;br /&gt;
 &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;And then install it in the GAC of the web server:&lt;br /&gt;
 &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ex0ss12c(v=vs.80).aspx"&gt;&lt;font color="#800080"&gt;http://msdn.microsoft.com/en-us/library/ex0ss12c(v=vs.80).aspx&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Now all that you have to do is  use this configuration (note that you will need to update the Public Key Token to match your own signed assembly):&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;membership&lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;defaultProvider&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;AspNetSunOneMembershipProvider&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;providers&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;add&lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;name&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;AspNetSunOneMembershipProvider&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;             &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;type&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;SunOne.AspNetSunOneMembershipProvider,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 1in"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;SunOne, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxxx&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;             &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;ApplicationName&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;/myApplication&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;             &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;LDAPServer&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;SunOne.Domain.com&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 1in"&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;UserNameConnectString&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;uid={0}, ou=People, ou=myApplication, dc=myContext,dc=com&lt;/span&gt;"&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;      &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;providers&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;membership&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;When determining your connection string, the LDP tool is invaluable when testing your LDAP Bindings. Check it out&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc772839(WS.10).aspx"&gt;&lt;font color="#800080"&gt;http://technet.microsoft.com/en-us/library/cc772839(WS.10).aspx&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;It is contained in the Windows XP Service Pack 2 Support tools:&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;br /&gt;
&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=49ae8576-9bb9-4126-9761-ba8011fabf38"&gt;&lt;font color="#800080"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=49ae8576-9bb9-4126-9761-ba8011fabf38&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://geekswithblogs.net/smyers/aggbug/145687.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/smyers/comments/145687.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/smyers/comments/commentRss/145687.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/smyers/services/trackbacks/145687.aspx</trackback:ping>
    </entry>
    <entry>
        <title>One joy of uniqueidentifier PK's</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/smyers/archive/2009/02/23/one-joy-of-uniqueidentifier-pks.aspx" />
        <id>http://geekswithblogs.net/smyers/archive/2009/02/23/one-joy-of-uniqueidentifier-pks.aspx</id>
        <published>2009-02-23T09:09:58-06:00:00</published>
        <updated>2011-06-22T08:55:17Z</updated>
        <summary type="html">When using uniqueidentifiers as Primary keys, you get the bonus of being able to write a mutli-function Read stored procedure.  Click through for the code...</summary>
        <content type="html">&lt;p&gt;When using uniqueidentifiers as Primary keys, you get the bonus of being able to write a mutli-function Read stored procedure.  Lets take a look at a table used for storing client Addresses: &lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#008000"&gt;-- ================================================&lt;br /&gt;
&lt;/font&gt;CREATE TABLE &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[Address](&lt;br /&gt;
[AddressId] [uniqueidentifier] &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;NOT NULL DEFAULT &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;NEWID(),&lt;br /&gt;
[ClientId] [uniqueidentifier] &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;NOT NULL&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;,&lt;br /&gt;
[AddressTypeId] [uniqueidentifier] &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;NOT NULL&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;,&lt;br /&gt;
[StreetLine1] [varchar](50),&lt;br /&gt;
[StreetLine2] [varchar](50),&lt;br /&gt;
[ZipCode] [int],&lt;br /&gt;
[LastRevisedDate] [datetime] &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;NOT NULL DEFAULT GETDATE&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(), &lt;br /&gt;
[LastRevisedUser] [uniqueidentifier] &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;NOT NULL&lt;br /&gt;
CONSTRAINT &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[PK_Address] &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;PRIMARY KEY &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;NONCLUSTERED ([AddressId] &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ASC&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;WITH &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(PAD_INDEX = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;OFF&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, STATISTICS_NORECOMPUTE = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;OFF&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, IGNORE_DUP_KEY = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;OFF&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, ALLOW_ROW_LOCKS = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ON&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, ALLOW_PAGE_LOCKS = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ON&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, FILLFACTOR = 90) &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ON &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[PRIMARY]) &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ON &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[PRIMARY]&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;GO&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;br /&gt;
&lt;/font&gt;&lt;/font&gt; &lt;font color="#008000" size="2"&gt;-- ================================================&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Assume that the ClientId is a link to the client table, the adressTypeID is a link to a type table (think Home, Business, etc) and the LastRevisedUser is a link to a users table to record who last updated this record.  Instead of writting four seperate procedures to get Addresses by each of these ID's, since you are using uniqueidentifiers, you can write a single stored procedure that would retrieve addresses by any of these criteria.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;-- ================================================&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font face="Arial"&gt;IF OBJECT_ID &lt;font size="2"&gt;( &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;'Address_GetById'&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;'P' &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;IS NOT NULL&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;DROP PROCEDURE &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;Address_GetById;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;GO&lt;br /&gt;
CREATE PROCEDURE &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;Address_GetById&lt;br /&gt;
@Id uniqueidentifier&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;AS&lt;br /&gt;
BEGIN&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;-- =======================================================================&lt;br /&gt;
-- CRUD Code Stored Procedure - [Address_GetById]&lt;br /&gt;
-- =======================================================================&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;SELECT &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;A.[AddressId]&lt;br /&gt;
,A.[ClientId]&lt;br /&gt;
,A.[AddressTypeId]&lt;br /&gt;
,C.[Description] &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;AS &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;AddressDescription&lt;br /&gt;
,A.[StreetLine1]&lt;br /&gt;
,A.[StreetLine2]&lt;br /&gt;
,A.[ZipCode]&lt;br /&gt;
,A.[LastRevisedDate]&lt;br /&gt;
,A.[LastRevisedUser]&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;FROM &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[Address] A&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;LEFT OUTER JOIN &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;Code C &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ON &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;A.AddressTypeId = C.CodeId&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;WHERE&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;AddressId = @Id &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;OR &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;ClientId = @Id &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;OR &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;A.[AddressTypeId] = @Id &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;OR &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;A.[LastRevisedUser] = @Id&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;END&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;-- ================================================&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; This will save you not only on the stored procedure side of things, but also cut out boilerplate code when you are writing the data layer methods to call stored procedures to get the address or addresses by these different criteria.  In this case you turn 4 CRUD Read stored procedures into 1, and cut out the all of the associated cut &amp;amp; paste in the data layer.  You could also let a NULL parameter mean "Give me all the Addresses" if you add another WHERE clause "&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;OR&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; @Id &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;IS NULL&lt;/font&gt;"&lt;/p&gt;
&lt;p&gt;  &lt;/p&gt;&lt;img src="http://geekswithblogs.net/smyers/aggbug/129624.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/smyers/comments/129624.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/smyers/comments/commentRss/129624.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/smyers/services/trackbacks/129624.aspx</trackback:ping>
    </entry>
    <entry>
        <title>FxCop Custom Dictionary</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/smyers/archive/2009/01/12/fxcop-custom-dictionary.aspx" />
        <id>http://geekswithblogs.net/smyers/archive/2009/01/12/fxcop-custom-dictionary.aspx</id>
        <published>2009-01-12T07:14:46-06:00:00</published>
        <updated>2011-06-22T08:56:45Z</updated>
        <summary type="html">FxCop is a great tool, and I would hesitate to turn off the spell checker in projects since spelling has never been my strongest suit. 
Click though to find out how to make it accept appropriate misspellings...</summary>
        <content type="html">&lt;p&gt;FxCop is a great tool, and I would hesitate to turn off the spell checker in projects since spelling has never been my strongest suit.  However, the are occasions when you may want to modify the words that FxCop accepts or rejects.  Such is the case with 3 letter abbreviations.  If you put a three letter abbreviation in as all caps, for example, EIO, FxCop will give you a casing error.  If you correct the casing to Eio, it then gives you a spelling error.  You can explicitly add or remove words from the custom dictionary file, which is in located in the installation directory for FxCop, most likely C:\Program Files\Microsoft FxCop 1.36\ or C:\Program Files\Microsoft FxCop 1.35\.  The name of the file is "CustomDictionary.XML" and then add &lt;br /&gt;
&amp;lt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;Word&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;eio&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;Word&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;
inside the &lt;br /&gt;
&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;Unrecognized&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt; &lt;br /&gt;
tag to make that word cause an error, or more likely inside the  &lt;br /&gt;
&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;Recognized&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;tag to make FxCop allow the word.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Note:  If you are using Visual Studio Team System 2008, you can add a custom dictionary to the project: &lt;a href="http://blogs.msdn.com/fxcop/archive/2007/08/20/new-for-visual-studio-2008-custom-dictionaries.aspx"&gt;http://blogs.msdn.com/fxcop/archive/2007/08/20/new-for-visual-studio-2008-custom-dictionaries.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://geekswithblogs.net/smyers/aggbug/128598.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/smyers/comments/128598.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/smyers/comments/commentRss/128598.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/smyers/services/trackbacks/128598.aspx</trackback:ping>
    </entry>
    <entry>
        <title>SSRS: Unable to load client print control </title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/smyers/archive/2008/10/30/ssrs-unable-to-load-client-print-control.aspx" />
        <id>http://geekswithblogs.net/smyers/archive/2008/10/30/ssrs-unable-to-load-client-print-control.aspx</id>
        <published>2008-10-30T10:13:49-05:00:00</published>
        <updated>2011-06-22T08:57:32Z</updated>
        <summary type="html">Here is a frustrating little error.  The problem occurs when trying to print reports from a report server that is not properly updated on a client machine.
Click through to find a solution...</summary>
        <content type="html">&lt;p&gt;Here is a frustrating little error.  The problem occurs when trying to print reports from a report server that is not properly updated on a client machine which has been.  Updating the SQL Server installation using Microsoft Update (Not just Windows update) fixed this on my local development box, however I had to dig a little deeper to get it to work on our production box which is 64 bit.  The root of the problem is this:  If you are using SSRS to print the reports, the way it works is that an Active X control is downloaded to the client machine and is used to print the report.  However, there was a security flaw in Active X controls which Microsoft recently patched by adding "Kill Bits":  &lt;font face="Arial"&gt;&lt;a href="http://www.microsoft.com/technet/security/advisory/956391.mspx"&gt;http://www.microsoft.com/technet/security/advisory/956391.mspx&lt;/a&gt;  This patch was made on October 14th (conveniently in the middle of the release cycle for this project) and has the unfortunate side effect of killing the RS Client Print Class which is the actual Active X client print control responsible for printing SSRS reports.  Thankfully, Microsoft has released SQL Server updates which when run on the machine which houses the SSRS instance, also fix the Active X control which is seamlessly downloaded to client machines.  On a particular server (our clients production server in this case) which was running the 64 bit version of SQL 2005, even though we ran the Microsoft updates, the correct patch was not applied.  If you are having this problem, make sure that the SQL Server Reporting Services is updated to at least build 9.0.&lt;strong&gt;3073&lt;/strong&gt; and you will be good to go!  If you have patched the server and the clients are still having problems, have them uninstall the control by selecting Tools--&amp;gt;Internet Options--&amp;gt; and then Manage Addons from the Programs tab.  If you are unable to remove it from there, check the &lt;font face="Arial"&gt;C:\WINDOWS\Downloaded Program Files directory of the client machine.  Once it has been successfully removed, it will reinstall when a report is printed from a properly configured SSRS Server.  Here is a thread that you can follow for more information about this problem, &lt;font face="Arial"&gt;&lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=4038983&amp;amp;SiteID=1  "&gt;http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=4038983&amp;amp;SiteID=1&lt;/a&gt;  H&lt;font face="Arial"&gt;&lt;font face="Arial"&gt;owever, in the end in order to upgrade my production x64 SQL Server past build 9.0.3069, we needed to contact Microsoft, but I expect this will not be the case soon. &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Arial"&gt;&lt;font face="Arial"&gt;  &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://geekswithblogs.net/smyers/aggbug/126417.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/smyers/comments/126417.aspx</wfw:comment>
        <slash:comments>6</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/smyers/comments/commentRss/126417.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/smyers/services/trackbacks/126417.aspx</trackback:ping>
    </entry>
    <entry>
        <title>SSRS Subreports</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/smyers/archive/2008/10/10/ssrs-subreports.aspx" />
        <id>http://geekswithblogs.net/smyers/archive/2008/10/10/ssrs-subreports.aspx</id>
        <published>2008-10-10T08:23:42-05:00:00</published>
        <updated>2011-06-22T08:59:13Z</updated>
        <summary type="html"> So today I ran across the dreaded "Error: Subreport could not be shown."   The odd thing was that the report and subreport executed fine in business intelligence studio, yet this problem arose when the report was deployed to the SSRS server.  
Click through for a solution...</summary>
        <content type="html">&lt;p&gt;So today I ran across the dreaded "&lt;font face="Arial"&gt;Error: Subreport could not be shown.&lt;/font&gt;"   The odd thing was that the report and subreport executed fine in business intelligence studio, yet this problem arose when the report was deployed to the SSRS server.  The key to broken subreports that execute fine in stand-alone mode are the report parameters passed in from the root report to the subreport.  A little background:  The subreport was being called &lt;span style="line-height: 115%; font-family: 'Arial','sans-serif'; font-size: 9pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;iteratively &lt;/span&gt;in a table where each row in the table contained the subreport based on the result set of a SQL query.  The subreport took two parameters, one that resolved using the Fields! of the SQL query for the table itself, and the other was one of the parameters of the root report, just passed down to the subreport.  It turns out that while the Fields! parameter resolved just fine, the report parameter did not resolve in the stage &lt;span style="line-height: 115%; font-family: 'Arial','sans-serif'; font-size: 9pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;environment &lt;/span&gt;for some reason.  Luckily for me, this parameter was useless in the case that the report was being run as a subreport, so I just removed it.  This problem was further obfuscated by the caching performed by SSRS.  That "Overwrite &lt;span style="line-height: 115%; font-family: 'Arial','sans-serif'; font-size: 9pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Existing&lt;/span&gt;" checkbox on the upload reports screen does not clear the database level caching that SSRS does, and even an IISreset and resetting the SSRS service itself didn't clear the cache.  I found that deleting the report and then re-uploading it worked just fine to "clear the cache".  Problem solved, good times :)&lt;/p&gt;&lt;img src="http://geekswithblogs.net/smyers/aggbug/125772.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/smyers/comments/125772.aspx</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/smyers/comments/commentRss/125772.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/smyers/services/trackbacks/125772.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Unicode SQL Server Scripting Error</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/smyers/archive/2008/10/01/unicode-sql-server-scripting-error.aspx" />
        <id>http://geekswithblogs.net/smyers/archive/2008/10/01/unicode-sql-server-scripting-error.aspx</id>
        <published>2008-10-01T08:56:10-05:00:00</published>
        <updated>2008-10-01T08:56:10Z</updated>
        <content type="html">&lt;div&gt;Sometimes, when executing a new SQL script via osql or SQLCmd, generated by Visual Studio's "Add New", you will get an error due to a Unicode character. This character is usually at the beginning of the file. In order to get around this, you can open the file with notepad and select file -&amp;gt; save as… and then when saving the file, select ANSI in the encoding box. If this doesn’t solve your problem, you can change the file extension to .bin and open it with visual studio which will present you with a binary editor with which you can remove the culprit and then change the extension back to .sql. &lt;/div&gt;&lt;img src="http://geekswithblogs.net/smyers/aggbug/125585.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/smyers/comments/125585.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/smyers/comments/commentRss/125585.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/smyers/services/trackbacks/125585.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Visual Studio Magic</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/smyers/archive/2008/09/22/visual-studio-magic.aspx" />
        <id>http://geekswithblogs.net/smyers/archive/2008/09/22/visual-studio-magic.aspx</id>
        <published>2008-09-22T22:40:40-05:00:00</published>
        <updated>2011-06-22T09:00:08Z</updated>
        <summary type="html">This is my favorite Visual Studio trick!  By holding down Alt while selecting with the mouse, you are able to select a square block of text, right in the middle!

Click through for a video demonstration...</summary>
        <content type="html">&lt;p&gt;This is my favorite Visual Studio trick!  By holding down Alt while selecting with the mouse, you are able to select a square block of text, right in the middle!&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="944" height="624"&gt;
&lt;param name="movie" value="http://content.screencast.com/users/Stephen_Myers/folders/Jing/media/150cb653-a163-441e-a0f3-445f2d950634/bootstrap.swf" /&gt;
&lt;param name="quality" value="high" /&gt;
&lt;param name="bgcolor" value="#FFFFFF" /&gt;
&lt;param name="flashVars" value="thumb=http://content.screencast.com/users/Stephen_Myers/folders/Jing/media/150cb653-a163-441e-a0f3-445f2d950634/FirstFrame.jpg&amp;amp;content=http://content.screencast.com/users/Stephen_Myers/folders/Jing/media/150cb653-a163-441e-a0f3-445f2d950634/2008-09-22_2331.swf&amp;amp;width=944&amp;amp;height=624" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="scale" value="showall" /&gt;
&lt;param name="allowScriptAccess" value="always" /&gt;&lt;/object&gt;&lt;/p&gt;&lt;img src="http://geekswithblogs.net/smyers/aggbug/125378.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/smyers/comments/125378.aspx</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/smyers/comments/commentRss/125378.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/smyers/services/trackbacks/125378.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Welcome to my blog!  </title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/smyers/archive/2008/09/12/welcome-to-my-blog.aspx" />
        <id>http://geekswithblogs.net/smyers/archive/2008/09/12/welcome-to-my-blog.aspx</id>
        <published>2008-09-12T09:02:31-05:00:00</published>
        <updated>2011-06-22T09:01:48Z</updated>
        <content type="html">&lt;div&gt;&lt;span style="font-size: 9pt"&gt;It is my intention to discuss topics pertaining to my professional experience, specifically my current work with e.magination where I often get the opportunity to implement business solutions using the latest Microsoft technologies.  It is my goal to give back to the community and help others out who may run across the same types of challenges I have run into and solved and to foster discussions pertaining to the viability of different approaches to solving technical problems. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9pt"&gt;Since this is my first post, I will start out by telling you a little about myself.  I am what you might call a "Classically Trained" programmer; I received my Bachelor of Science in Computer Science from the University of Maryland, College Park in 2001.  Immediately after college, I started my career as a Software Engineer with a flight test instrumentation company named &lt;/span&gt;&lt;a href="http://www.acracontrol.com/"&gt;&lt;span style="font-size: 9pt"&gt;ACRA Control&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 9pt"&gt; . This was an amazing experience as I was able to travel to Dublin Ireland extensively, gained great experience interfacing between US clients and Irish developers, the opportunity to design and build a light ground station application in C++ 6.0, and make some great, lasting friendships. I also got to travel to some very interesting locations in the US to meet with clients. Next I was hungry to get my hands into the recently released .Net framework and moved on to develop a web based timesheet application with predictive scoring in VB.Net for &lt;/span&gt;&lt;a href="http://www.metier.com/"&gt;&lt;span style="font-size: 9pt"&gt;Metier Ltd.&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 9pt"&gt; We worked from a penthouse in Georgetown and I got to work with another team of very talented individuals. In addition to working on smaller features and bug fixes, I got to lead a small team on a very interesting project - an interface with Microsoft Exchange that polled the exchange server, digested calendar items, and injected them into the timesheet application using web services. I left DC to move to Baltimore, and changed my job again – this time to work for &lt;a href="http://www.micros.com/"&gt;&lt;font color="#800080"&gt;MICROS&lt;/font&gt;&lt;/a&gt; where I was part of the lesuire and entertainment division which serviced large installations like the Wynn casino and the Baltimore Ravens stadium with networked point of sale systems. In addition to small feature implementaion and bug fixing, I was able to apply my .Net experience there by creating a Web service for 3&lt;sup&gt;rd&lt;/sup&gt; parties to create kiosk integration with the system. Whenever you charge up a Powercard at Dave and Busters you are running my code &lt;img alt="" src="/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/shades_smile.gif" /&gt;&lt;/span&gt;&lt;span style="font-size: 9pt"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9pt"&gt;I was attracted to &lt;a href="http://www.emagination.com/"&gt;&lt;font color="#800080"&gt;e.magination&lt;/font&gt;&lt;/a&gt;  because of their reputation for staying on the cutting edge of technology and their Microsoft Gold Partner status.  I currently hold the position of Senior Developer I, and my key interests lie in staying on top of the latest Microsoft technologies by applying them appropriately to solve real world business problems elegantly, efficiently and cost effectively.&lt;/span&gt;&lt;/div&gt;&lt;img src="http://geekswithblogs.net/smyers/aggbug/125129.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/smyers/comments/125129.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/smyers/comments/commentRss/125129.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/smyers/services/trackbacks/125129.aspx</trackback:ping>
    </entry>
</feed>
