<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blog.4penny.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>VB.NET</title><link>http://blog.4penny.net/blogs/vbnet/default.aspx</link><description>Notes, Tricks and Tips on VB.NET</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP2 (Build: 20611.960)</generator><item><title>Subsonic VB Setup</title><link>http://blog.4penny.net/blogs/vbnet/archive/2008/06/24/subsonic-vb-setup.aspx</link><pubDate>Tue, 24 Jun 2008 12:17:00 GMT</pubDate><guid isPermaLink="false">05d3ee43-09e1-4c21-9d53-64ecaf1acc4f:1096</guid><dc:creator>Crystal</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.4penny.net/blogs/vbnet/rsscomments.aspx?PostID=1096</wfw:commentRss><comments>http://blog.4penny.net/blogs/vbnet/archive/2008/06/24/subsonic-vb-setup.aspx#comments</comments><description>&lt;p&gt;Web.config&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;configSections&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;section name=&amp;quot;SubSonicService&amp;quot; type=&amp;quot;SubSonic.SubSonicSection, SubSonic&amp;quot; requirePermission=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;lt;/configSections&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;SubSonicService defaultProvider=&amp;quot;OnlineNotes&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;providers&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;clear/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name=&amp;quot;OnlineNotes&amp;quot; type=&amp;quot;SubSonic.SqlDataProvider, SubSonic&amp;quot; connectionStringName=&amp;quot;OnlineNotes&amp;quot; generatedNamespace=&amp;quot;OnlineNotes&amp;quot; &amp;nbsp;&amp;nbsp;includeTableList=&amp;quot;^_&amp;quot; includeProcedureList=&amp;quot;^FP&amp;quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/providers&amp;gt;&lt;br /&gt;&amp;lt;/SubSonicService&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;VisualStudio &amp;gt; Tools &amp;gt; External Tools &amp;gt; Add &lt;br /&gt;&amp;nbsp;Name is Subsonic DAL and browse for the exe file&lt;br /&gt;&amp;nbsp;&amp;nbsp;C:\Program Files\SubSonic\SubSonic 2.0.3\SubCommander\sonic.exe&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;Arguments: generate/out App_Code\Generated/lang vb&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Initial Directory: Project Directory&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;x Use Output Window&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x Prompt for arguments&lt;br /&gt;&lt;/p&gt;&lt;img src="http://blog.4penny.net/aggbug.aspx?PostID=1096" width="1" height="1"&gt;</description></item><item><title>RUN my Windows Service without installing and starting it</title><link>http://blog.4penny.net/blogs/vbnet/archive/2008/06/10/run-my-windows-service-without-installing-and-starting-it.aspx</link><pubDate>Tue, 10 Jun 2008 13:23:00 GMT</pubDate><guid isPermaLink="false">05d3ee43-09e1-4c21-9d53-64ecaf1acc4f:1059</guid><dc:creator>Steve Gray</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.4penny.net/blogs/vbnet/rsscomments.aspx?PostID=1059</wfw:commentRss><comments>http://blog.4penny.net/blogs/vbnet/archive/2008/06/10/run-my-windows-service-without-installing-and-starting-it.aspx#comments</comments><description>&lt;p&gt;I am often asked the question &amp;quot;Can&amp;#39;t I just RUN my Windows Service without installing and starting it?&amp;quot;.&lt;/p&gt;
&lt;p&gt;My answer usually is &amp;quot;No, you can&amp;#39;t but...&amp;quot;&lt;/p&gt;
&lt;p&gt;There is a &amp;quot;but&amp;quot;: you can create your Windows service as a hybrid application, so it will run as a console application also.&lt;/p&gt;
&lt;p&gt;Why would you want to do that?&lt;br /&gt;•&amp;nbsp;It makes debugging from within Visual Studio a breeze &lt;br /&gt;•&amp;nbsp;Sometimes you want to show some debugging information in a production environment by using Console.WriteLine() &lt;br /&gt;•&amp;nbsp;You don&amp;#39;t always want to install your service to see if it runs in a particular environment&lt;br /&gt;Turning a .NET Windows service into a hybrid application is actually very simple. In your Main() method you add the following:&lt;br /&gt;static class Program&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; static void Main(params string[] parameters)&lt;br /&gt;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (parameters.Length &amp;gt; 0 &amp;amp;&amp;amp; parameters[0].ToLower() == &amp;quot;/console&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new MyService().RunConsole(parameters);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServiceBase.Run(new ServiceBase[] { new MyService() });&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;Then, in your service class, add a RunConsole() method:&lt;br /&gt;&amp;nbsp;&amp;nbsp; public void RunConsole(string[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnStart(args);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;Service running... Press any key to stop&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.Read();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnStop();&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;That&amp;#39;s all there is to it. To run your service as a console app, just specify &amp;quot;/console&amp;quot; as the first paramter when running the .EXE.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blog.4penny.net/aggbug.aspx?PostID=1059" width="1" height="1"&gt;</description></item><item><title>How to write to the application event log using VB.NET</title><link>http://blog.4penny.net/blogs/vbnet/archive/2008/05/08/how-to-write-to-the-application-event-log-using-vb-net.aspx</link><pubDate>Thu, 08 May 2008 19:04:00 GMT</pubDate><guid isPermaLink="false">05d3ee43-09e1-4c21-9d53-64ecaf1acc4f:998</guid><dc:creator>Steve Gray</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.4penny.net/blogs/vbnet/rsscomments.aspx?PostID=998</wfw:commentRss><comments>http://blog.4penny.net/blogs/vbnet/archive/2008/05/08/how-to-write-to-the-application-event-log-using-vb-net.aspx#comments</comments><description>&lt;p&gt;Here a sample of code that will write to the application event log, using VB..NET:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre style="overflow: scroll; background-color: #f2f2f2;"&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Public&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Function&lt;/span&gt; WriteToEventLog(&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;ByVal&lt;/span&gt; Entry &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;As&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;String&lt;/span&gt;)


    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Dim&lt;/span&gt; appName &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;As&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;String&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: #666666;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;"Server Maintenance"&lt;/span&gt;
    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Dim&lt;/span&gt; eventType &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;As&lt;/span&gt; EventLogEntryType &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; EventLogEntryType.&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Error&lt;/span&gt;
    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Dim&lt;/span&gt; logName &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: #666666;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;"Application"&lt;/span&gt;


    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Dim&lt;/span&gt; objEventLog &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;As&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;New&lt;/span&gt; EventLog()


    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Try&lt;/span&gt;
        &lt;span style="color: Green;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;'Register the App as an Event Source&lt;/span&gt;
        &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;If&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Not&lt;/span&gt; EventLog.SourceExists(appName) &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Then&lt;/span&gt;
            EventLog.CreateEventSource(appName, logName)
        &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;End&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;If&lt;/span&gt;


        objEventLog.&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Source&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;=&lt;/span&gt; appName


        &lt;span style="color: Green;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;'WriteEntry is overloaded; this is one&lt;/span&gt;
        &lt;span style="color: Green;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;'of 10 ways to call it&lt;/span&gt;
        objEventLog.WriteEntry(Entry, eventType)
        &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Return&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;True&lt;/span&gt;
    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Catch&lt;/span&gt; Ex &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;As&lt;/span&gt; Exception
        &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Return&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;False&lt;/span&gt;


    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;End&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Try&lt;/span&gt;


&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;End&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/p&gt;&lt;img src="http://blog.4penny.net/aggbug.aspx?PostID=998" width="1" height="1"&gt;</description></item></channel></rss>