<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1521714710438991818</id><updated>2011-11-28T16:07:28.360+02:00</updated><category term='System.Threading.Task'/><category term='NServiceBus'/><title type='text'>The Code Whisperer</title><subtitle type='html'>My findings and learnings as I figure out stuff...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://shawnolius.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://shawnolius.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Shawnolius</name><uri>http://www.blogger.com/profile/10417831776294900114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='23' src='http://2.bp.blogspot.com/_vx_lfvlk93Y/THTLyioxStI/AAAAAAAAAAc/ms9S20egyJQ/S220/Avatar.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1521714710438991818.post-407020543729432579</id><published>2011-11-28T16:01:00.001+02:00</published><updated>2011-11-28T16:07:28.366+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='System.Threading.Task'/><category scheme='http://www.blogger.com/atom/ns#' term='NServiceBus'/><title type='text'>Get around the NServiceBus 1-Thread limitation</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;You may know that NServicebus has a commercial version that has 5 threads on which it processes incoming messages. &amp;nbsp;The non-commercial version has the limitation that it only has one thread on which incoming messages are processed.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Well, thanks to tasks in .Net 4.0, I've found a very cool way of overcoming this limitation...&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Instead of the following usual message handler code...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #efc986; font-family: consolas; white-space: pre;"&gt;public&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: consolas; white-space: pre;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #efc986; font-family: consolas; white-space: pre;"&gt;class&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: consolas; white-space: pre;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #8acccf; font-family: consolas; white-space: pre;"&gt;MessageHandler&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: consolas; white-space: pre;"&gt;&amp;nbsp;:&amp;nbsp;NServiceBus.&lt;/span&gt;&lt;span style="color: #8c8cb4; font-family: consolas; white-space: pre;"&gt;IMessageHandler&lt;/span&gt;&lt;mymessagetype style="font-family: consolas; white-space: pre;"&gt; {&lt;/mymessagetype&gt;&lt;br /&gt;&lt;pre style="font-family: consolas;"&gt;&lt;mymessagetype&gt;  &lt;span style="color: #efc986;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: #efc986;"&gt;void&lt;/span&gt;&amp;nbsp;Handle(MyMessageType&amp;nbsp;message) {&lt;/mymessagetype&gt;&lt;/pre&gt;&lt;pre style="font-family: consolas;"&gt;//Code here to execute the work&lt;/pre&gt;&lt;pre style="font-family: consolas;"&gt;}&lt;/pre&gt;&lt;pre style="font-family: consolas;"&gt;}&lt;/pre&gt;&lt;pre style="font-family: consolas;"&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;...which requires the complete code that is executing the work to finish before NServiceBus can process the next message...&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;rather u&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;se a System.Threading.Task to execute the work, as follows:&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;pre style="font-family: consolas;"&gt;&lt;span style="color: #efc986;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: #efc986;"&gt;class&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8acccf;"&gt;MessageHandler&lt;/span&gt;&amp;nbsp;:&amp;nbsp;NServiceBus.&lt;span style="color: #8c8cb4;"&gt;IMessageHandler&lt;/span&gt;&lt;mymessagetype&gt; {&lt;br /&gt;  &lt;span style="color: #efc986;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: #efc986;"&gt;void&lt;/span&gt;&amp;nbsp;Handle(MyMessageType&amp;nbsp;message) {&lt;/mymessagetype&gt;&lt;/pre&gt;&lt;pre style="font-family: consolas;"&gt;Task myTask = new Task(()=&amp;gt; {&lt;/pre&gt;&lt;pre style="font-family: consolas;"&gt;//Code here to execute the work&lt;/pre&gt;&lt;pre style="font-family: consolas;"&gt;});&lt;/pre&gt;&lt;pre style="font-family: consolas;"&gt;myTask.Start();&lt;/pre&gt;&lt;pre style="font-family: consolas;"&gt;}&lt;/pre&gt;&lt;pre style="font-family: consolas;"&gt;}&lt;/pre&gt;&lt;div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;As soon as the task is started, the NServiceBus worker thread is immediately freed up to process the next message,&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;irrespective of how long the task actually takes to execute!&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Happy coding!&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1521714710438991818-407020543729432579?l=shawnolius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shawnolius.blogspot.com/feeds/407020543729432579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1521714710438991818&amp;postID=407020543729432579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default/407020543729432579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default/407020543729432579'/><link rel='alternate' type='text/html' href='http://shawnolius.blogspot.com/2011/11/get-around-nservicebus-1-thread.html' title='Get around the NServiceBus 1-Thread limitation'/><author><name>Shawnolius</name><uri>http://www.blogger.com/profile/10417831776294900114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='23' src='http://2.bp.blogspot.com/_vx_lfvlk93Y/THTLyioxStI/AAAAAAAAAAc/ms9S20egyJQ/S220/Avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1521714710438991818.post-7165317261111641939</id><published>2011-09-02T11:19:00.001+02:00</published><updated>2011-09-02T11:20:17.406+02:00</updated><title type='text'>Timeout on Web Service Calls</title><content type='html'>&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Having&amp;nbsp;a problem with your web service calls timing out?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Your WebServiceClass inherits from System.Web.Service.Protocols.WebClientProtocol.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;This class is where the Timout property sits.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;The default value is 100000 ms.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;What you need to do is cast your WebServiceClass instance to (WebClientProtocol) and set the Timeout property.&amp;nbsp; So if you wanted to set the timeout to 5 minutes:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;c#:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;using System.Web.Services.Protocols;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;((WebClientProtocol)myWSClass).Timeout = 300000;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;VB.Net&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;Imports System.Web.Services.Protocols&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;DirectCast(myWSClass, WebClientProtocol).Timeout = 300000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1521714710438991818-7165317261111641939?l=shawnolius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shawnolius.blogspot.com/feeds/7165317261111641939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1521714710438991818&amp;postID=7165317261111641939' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default/7165317261111641939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default/7165317261111641939'/><link rel='alternate' type='text/html' href='http://shawnolius.blogspot.com/2011/09/timeout-on-web-service-calls.html' title='Timeout on Web Service Calls'/><author><name>Shawnolius</name><uri>http://www.blogger.com/profile/10417831776294900114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='23' src='http://2.bp.blogspot.com/_vx_lfvlk93Y/THTLyioxStI/AAAAAAAAAAc/ms9S20egyJQ/S220/Avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1521714710438991818.post-1578151833710774256</id><published>2010-08-25T09:41:00.001+02:00</published><updated>2010-08-25T14:15:08.380+02:00</updated><title type='text'>WCF Findings on Concurrency, InstanceContext and SessionMode</title><content type='html'>I built me a little app to demo the effects of WCF InstanceContextMode, ConcurrencyMode and Sessions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Interesting findings...&lt;br /&gt;SessionMode: You define this on the ServiceContract Interface. Options are Allowed, Required, NotRequired. The default is Allowed, meaning that if you use a binding that supports sessions (seems to be all of them except BasicHttpBinding - but I still have to confirm this), a session will be established for the duration of the client proxy. When using a binding that does NOT support sessions, no Session is established; unless you go and set this to Required, in which case an exception will be thrown. Now the purpose of a Session is to establish one instance of your service class to handle all calls made to it for the duration of the Session (I assume a session ends when you dispose your client proxy). Here is a link to a very good example of why one would want to do this: &lt;a href="http://msdn.microsoft.com/en-us/library/ms751429.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms751429.aspx&lt;/a&gt;&lt;br /&gt;The documentation states that&amp;nbsp;in a Session, calls are processed in the order in which they are received.&amp;nbsp; Turns out that they can be received in a different order than they were sent though...my app showed the client sending call 1, 2, 3, n...but the serviced showed the processing order being 2, 1, 3, n.&amp;nbsp; Interesting.&lt;br /&gt;&lt;br /&gt;On to InstanceContextMode: This defines how many InstanceContext objects (and therefore instances of your ServiceClass) are created by the WCF runtime.&lt;br /&gt;&lt;br /&gt;The default InstanceContextMode is PerSession, but this only applies if you use a binding that supports Sessions. Using a binding that does NOT support sessions results in InstanceContextMode = PerCall. PerCall means a new InstanceContext (and thus a new instance of your ServiceClass) is instantiated for each call made to any operation of your service. If you set this to Single, then a single InstanceContext (and thus a single instance of your Serviceclass) is instantiated by the WCF Runtime the first time a call to an operation is made. And this single instance lives until the servicehost is disposed (though I think there is a timeout as well that controls the lifetime of this service ... no point keeping it around if it is not being called by anybody...poor soul)&lt;br /&gt;ConcurrencyMode: The default is Single, and it controls whether or not multiple threads can process calls to your service. Now when the InstanceContextMode is PerCall, the ConcurrencyMode means nothing, as each call is being handled by a single instance of your ServiceClass – and that instance is disposed after servicing the call for which it was instantiated. Even so, it seems that there is a default limit (of 32) to how many calls can be in progress to a given ServiceHost in total before blocking any subsequent calls. When 32 calls are in progress, subsequent calls are blocked until one of the existing calls completes (figuring out how to change this is on my TODO list). (I read here &lt;a href="http://weblogs.asp.net/paolopia/archive/2008/03/23/wcf-configuration-default-limits-concurrency-and-scalability.aspx"&gt;http://weblogs.asp.net/paolopia/archive/2008/03/23/wcf-configuration-default-limits-concurrency-and-scalability.aspx&lt;/a&gt; that this limit is 16. I’m using a dual core machine...perhaps that is why the limit I’m encountering is double that?)&lt;br /&gt;Anyway, now when a Session is established (ie, InstanceContextMode = PerSession) (though remember that this requires a binding that supports sessions), or InstanceContextMode = Single, this default ConcurrencyMode of Single has a very clear effect – only one call to the service is handled at a time. All subsequent calls are blocked until the call being processed completes.&lt;br /&gt;&lt;br /&gt;(I was hoping to be able to use the PerformanceCounters to figure out how many calls are queued, but that seems to be a finding for another post. The ServiceModel Counter called OustandingCalls indicates the number of calls in progress, and not the number of calls that are blocked...waiting to be processed.)&lt;br /&gt;&lt;br /&gt;Now by changing the ConcurrencyMode to Multiple, you are telling the WCF runtime to allow multiple threads to process calls made to your InstanceContext.PerSession or InstanceContext.Single service. Doing this allows multiple calls to be processed at a time by different threads, seemingly again up to the limit of 32 encountered above, at which point further calls are blocked. However, if you do this, you need to ensure that your service operations are thread safe...and that is a topic for another post...suffice to say that if you steer clear of service-level variables (and have the service operation deal only with variables declared within the operation), you’re on a good track to being threadsafe...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1521714710438991818-1578151833710774256?l=shawnolius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shawnolius.blogspot.com/feeds/1578151833710774256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1521714710438991818&amp;postID=1578151833710774256' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default/1578151833710774256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default/1578151833710774256'/><link rel='alternate' type='text/html' href='http://shawnolius.blogspot.com/2010/08/i-built-me-little-app-to-demo-effects.html' title='WCF Findings on Concurrency, InstanceContext and SessionMode'/><author><name>Shawnolius</name><uri>http://www.blogger.com/profile/10417831776294900114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='23' src='http://2.bp.blogspot.com/_vx_lfvlk93Y/THTLyioxStI/AAAAAAAAAAc/ms9S20egyJQ/S220/Avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1521714710438991818.post-6607248871894950426</id><published>2009-05-07T10:36:00.000+02:00</published><updated>2009-05-07T10:54:23.022+02:00</updated><title type='text'>DOING is the best way to learn</title><content type='html'>&lt;span style="font-family:arial;"&gt;I've been wanting to build a production app using WPF but have been putting it off and off for fear of the unknown. I've been reading through books and blogs, viewing webcasts and listening to podcasts related to WPF for about a YEAR now!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Finally I came to a point of putting all the theoretical knowledge gained on the subject into practice...I rolled up my sleeves and started building my first real-life application using WPF (and Prism 2 btw) ...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;...and was shocked at the number of brick walls I kept bumping into!!!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Man it felt as if I knew NOTHING! Despite the months of theoretical prepping!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;But boy did I learn! In the first week of building the app I've definitely learnt a LOT more about WPF than in all the months of reading!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;So a bit of advice for you who fear to tread where your brain has not yet gone before...JUST DO IT! There is no better way to learn!&lt;/span&gt;&lt;span style="font-family:arial;"&gt; Don't waste too much time just reading...DOING is when you learn the most!!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1521714710438991818-6607248871894950426?l=shawnolius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shawnolius.blogspot.com/feeds/6607248871894950426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1521714710438991818&amp;postID=6607248871894950426' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default/6607248871894950426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default/6607248871894950426'/><link rel='alternate' type='text/html' href='http://shawnolius.blogspot.com/2009/05/doing-is-best-way-to-learn.html' title='DOING is the best way to learn'/><author><name>Shawnolius</name><uri>http://www.blogger.com/profile/10417831776294900114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='23' src='http://2.bp.blogspot.com/_vx_lfvlk93Y/THTLyioxStI/AAAAAAAAAAc/ms9S20egyJQ/S220/Avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1521714710438991818.post-2647225733297939929</id><published>2008-09-23T15:11:00.000+02:00</published><updated>2008-09-23T15:21:34.676+02:00</updated><title type='text'>Install a Windows Service WITHOUT having to use InstallUtil</title><content type='html'>&lt;span style="font-family:verdana;"&gt;After much searching for this myself, I'm adding this blog in the hope of making such a search simpler for others...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;In Visual Studio, you create a Deployment project for a Windows Service project.  You build and install the Deployment project.  Then you go look at the list of services, and your service ain't there!  You still need to run the InstallUtil utility to install the Service to the Windows Services.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;You need to add custom actions to your Deployment Project. In Visual Studio, right click on the Deployment Project, and select View --&gt; Custom Actions.  For each of the Install, Commit, Rollback and Uninstall nodes, you need to add "Primary Output from [Service Project]".&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;When this is done, rebuild and Install the Deployment project.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This time, the service is added to the list of Windows Services.  If it still ain't there, I can only imagine that you have not added a ProjectInstaller to your Windows Service Project. (Open the designer for the [Service].vb file, right click on the design surface, and select the option to add an installer. Once this is done, each of the created components will have properties that you can set that relate to how your service deploys itself)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;And if after doing all this you &lt;em&gt;still&lt;/em&gt; don't have a service listed in the Windows Services, I really cannot help you... ;-)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1521714710438991818-2647225733297939929?l=shawnolius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shawnolius.blogspot.com/feeds/2647225733297939929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1521714710438991818&amp;postID=2647225733297939929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default/2647225733297939929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default/2647225733297939929'/><link rel='alternate' type='text/html' href='http://shawnolius.blogspot.com/2008/09/install-windows-service-without-having.html' title='Install a Windows Service WITHOUT having to use InstallUtil'/><author><name>Shawnolius</name><uri>http://www.blogger.com/profile/10417831776294900114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='23' src='http://2.bp.blogspot.com/_vx_lfvlk93Y/THTLyioxStI/AAAAAAAAAAc/ms9S20egyJQ/S220/Avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1521714710438991818.post-6009336187519988456</id><published>2007-12-03T09:35:00.000+02:00</published><updated>2007-12-03T09:49:12.979+02:00</updated><title type='text'>Shawninator? ...and other nicknames</title><content type='html'>&lt;span style="font-family:Arial;"&gt;Well this was a nickname given to me by my developer colleagues.  I developed a Code Generator for use in standardising the development we do at my place of work.  My colleagues loved it, and started referring to it as "The Shawninator"...this name eventually got used in referring to me whenever I came up with a cool idea in architecting a solution to a development problem...and it seems to have stuck; and I don't mind...its been my first nickname since high school...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;...when I was Cyborg.  My buddy Sydney Ashmead and I were totally swept away by the Top Gun wave back in '86, '87.  We decided we just HAD to have call-signs...he took "Maverick" from the lead character, and I, wanting to be original, declared myself "Cyborg".  We referred to each other only by these names right through high school. (Sigh!, thinking back to those days...) I even remember him mentioning how they were making a movie of me when the Jean-Claude van Damme movie (remember ?) came out...and I remember thinking how people would now not think that I was original anymore in my call-sign, and that I took it from the movie...but let the record show, my call-sign was FIRST!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1521714710438991818-6009336187519988456?l=shawnolius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shawnolius.blogspot.com/feeds/6009336187519988456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1521714710438991818&amp;postID=6009336187519988456' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default/6009336187519988456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default/6009336187519988456'/><link rel='alternate' type='text/html' href='http://shawnolius.blogspot.com/2007/12/shawninator-and-other-nicknames.html' title='Shawninator? ...and other nicknames'/><author><name>Shawnolius</name><uri>http://www.blogger.com/profile/10417831776294900114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='23' src='http://2.bp.blogspot.com/_vx_lfvlk93Y/THTLyioxStI/AAAAAAAAAAc/ms9S20egyJQ/S220/Avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1521714710438991818.post-6428565090104503443</id><published>2007-11-17T09:23:00.000+02:00</published><updated>2007-11-17T09:26:50.409+02:00</updated><title type='text'>In the beginning...</title><content type='html'>...the Shawninator created his blog.&lt;br /&gt;I have no idea yet where I'm gonna go with this, or why I really started it. I have never been any good at expressing myself anyway...verbally (and my beautiful wife will testify to that :-) ) or in the written word...but lets see...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1521714710438991818-6428565090104503443?l=shawnolius.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shawnolius.blogspot.com/feeds/6428565090104503443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1521714710438991818&amp;postID=6428565090104503443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default/6428565090104503443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1521714710438991818/posts/default/6428565090104503443'/><link rel='alternate' type='text/html' href='http://shawnolius.blogspot.com/2007/11/in-beginning.html' title='In the beginning...'/><author><name>Shawnolius</name><uri>http://www.blogger.com/profile/10417831776294900114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='23' src='http://2.bp.blogspot.com/_vx_lfvlk93Y/THTLyioxStI/AAAAAAAAAAc/ms9S20egyJQ/S220/Avatar.png'/></author><thr:total>0</thr:total></entry></feed>
