Disabling WcfSvcHost.exe when debugging projects

One of the many new WCF features in Visual Studio 2008 SP1 is a mechanism to control whether the built-in WCF test host application (WcfSvcHost.exe) should automatically launch when debugging other projects in a solution. Prior to this release, there was no way to control this without disabling WcfSvcHost.exe by removing the special ProjectTypeGuid that controls this feature from the .csproj file.


Now, you can simply right click on your WCF Service Library and select Properties. Then in the project properties area you should find a tab called WCF Options, which looks like this:



Simply uncheck the box to disable the WcfSvcHost.exe from starting when debugging other projects within your solution (such as your own custom host application). However, if you attempt debug the WCF Service Library directly (as the startup project), the WcfSvcHost.exe will still launch in that case.

Disabling WcfSvcHost.exe when debugging projects

One of the many new WCF features in Visual Studio 2008 SP1 is a mechanism to control whether the built-in WCF test host application (WcfSvcHost.exe) should automatically launch when debugging other projects in a solution. Prior to this release, there was no way to control this without disabling WcfSvcHost.exe by removing the special ProjectTypeGuid that controls this feature from the .csproj file.


Now, you can simply right click on your WCF Service Library and select Properties. Then in the project properties area you should find a tab called WCF Options, which looks like this:



Simply uncheck the box to disable the WcfSvcHost.exe from starting when debugging other projects within your solution (such as your own custom host application). However, if you attempt debug the WCF Service Library directly (as the startup project), the WcfSvcHost.exe will still launch in that case.

May 20th Links: ASP.NET, ASP.NET AJAX, .NET, Visual Studio, Silverlight, WPF

Apologies for the sparseness of my posting the last few weeks – work and life have been busy here lately.  Below is a new post in my link-listing series to help kick things up a little.  Also check out my ASP.NET Tips, Tricks and Tutorials page and Silverlight Tutorials page for links to popular articles I’ve done myself in the past.

ASP.NET

  • Bulk Inserting Data with the ListView Control: Matt Berseth continues his awesome posts with one that shows how to handle bulk-editing of data using the ASP.NET ListView control in .NET 3.5.

  • Master-Detail with the GridView, DetailsView, and ModalPopup Controls: Another great post from Matt that describes how to cleanly handle a common data entry scenario.

  • Creating Great Thumbnail Images in ASP.NET: A really nice blog post by a different Matt that details an approach that generates high quality (and small) thumbnail images.

  • Warning the User when Caps-Lock is on: Scott Mitchell has a nice article that describes how to automatically detect and warn users in login pages when the caps-lock button is on.

  • ASP.NET Perf Issue: Large numbers of application-restarts due to virus scanners: Tess Ferrandez has a great post that details a debug session to determine why an ASP.NET application was restarting frequently (causing performance slowdowns).  The issue was a virus scanner that was causing files to be constantly updated.  Make sure to check out the logging code you can add to your application to identify restart causes like this.

ASP.NET AJAX

  • ASP.NET AJAX Progress Bar Control: Matt Berseth has another great article that describes his new ASP.NET AJAX Progress Bar control.

  • Faster Page Loading By Combining Multiple JavaScript files in Batch: Omar Al Zabir (founder of PageFlakes.com and author of the great Building a Web 2.0 Portal with ASP.NET 3.5 book) has a good article that describes the performance benefit of merging multiple JavaScript file downloads.  Note that .NET 3.5 SP1 will include a new script combiner feature that helps make doing this even easier.

  • Create ASP.NET AJAX Server Controls using the ScriptControl base class: Chris Pietschmann has a nice article that talks about how to build new ASP.NET AJAX server controls by deriving from the built-in ScriptControl base class.

  • Inline Edit Box and Postback Ritalin Beta: Dave Ward and Mike Davis have created a new CodePlex project for their popular Inline Edit Box and PostBack Ritalin ASP.NET AJAX controls.

.NET

  • 7 Ways to Simplify your code with LINQ: Igor Ostrovsky has a great blog post that talks about new code techniques you can use to improve your code using .NET 3.5 and the new language and LINQ features in it.

  • Visual LINQ Query Builder for LINQ to SQL: Mitsu Furuta has created a cool Visual Studio designer that allows you to graphically construct LINQ to SQL queries.  Also make sure to download download the latest LINQPad utility – which is invaluable for learning LINQ and trying out LINQ queries.

  • DataContracts without Attributes (POCO support): Aaron Skonnard has a good post that talks about a nice usability change with .NET 3.5 SP1 that allows you to serialize POCO (plain old objects) using the WCF serializers.

  • Ukadc.Diagnostics: Josh Twist pointed me at a new CodePlex project he is working on that extends the System.Diagnostics features in .NET to include richer logging features (SQL trace support, email support, etc).

Visual Studio

  • 11 More VS Short Cuts you Should Know: A great post that talks about a bunch of useful shortcuts to print out and remember when using Visual Studio.

Silverlight

  • 50 New Silverlight 2 Beta 1 Screencasts: Mike Taulty and Mike Ormond have put together 50 nice tutorial screen-casts that cover Silverlight 2 – all in their "spare time".  Wow.

  • AutoComplete for Silverlight TextBoxes: Nikhil Kothari has a nice blog post that demonstrates how he built an auto-complete behavior control for Silverlight. 

  • Silverlight 2 Pie Chart: Peter McGrattan has posted a nice control and article that demonstrates how to use a new Silverlight charting control he has written.

WPF

  • WPF week on Channel9: Watch 6 great videos on Channel9.  Each one includes interviews and demos with members of the WPF team talking about some of the awesome work that went into WPF 3.5 SP1 (read my blog post here for a summary of some of it).

  • WPF Testing and Application Quality Guide: Check out the 0.2 release of a free online book being developed by Microsoft that covers how to test WPF applications.  Definitely worth book-marking if you are doing WPF development.

  • WPF 3.5 SP1 StringFormat: Lester has a nice post that describes how to use the new StringFormat feature in WPF 3.5 SP1.  This makes it much easier to handle formatting of databound values.

Hope this helps,

Scott

May 20th Links: ASP.NET, ASP.NET AJAX, .NET, Visual Studio, Silverlight, WPF

Apologies for the sparseness of my posting the last few weeks – work and life have been busy here lately.  Below is a new post in my link-listing series to help kick things up a little.  Also check out my ASP.NET Tips, Tricks and Tutorials page and Silverlight Tutorials page for links to popular articles I’ve done myself in the past.

ASP.NET

  • Bulk Inserting Data with the ListView Control: Matt Berseth continues his awesome posts with one that shows how to handle bulk-editing of data using the ASP.NET ListView control in .NET 3.5.

  • Master-Detail with the GridView, DetailsView, and ModalPopup Controls: Another great post from Matt that describes how to cleanly handle a common data entry scenario.

  • Creating Great Thumbnail Images in ASP.NET: A really nice blog post by a different Matt that details an approach that generates high quality (and small) thumbnail images.

  • Warning the User when Caps-Lock is on: Scott Mitchell has a nice article that describes how to automatically detect and warn users in login pages when the caps-lock button is on.

  • ASP.NET Perf Issue: Large numbers of application-restarts due to virus scanners: Tess Ferrandez has a great post that details a debug session to determine why an ASP.NET application was restarting frequently (causing performance slowdowns).  The issue was a virus scanner that was causing files to be constantly updated.  Make sure to check out the logging code you can add to your application to identify restart causes like this.

ASP.NET AJAX

  • ASP.NET AJAX Progress Bar Control: Matt Berseth has another great article that describes his new ASP.NET AJAX Progress Bar control.

  • Faster Page Loading By Combining Multiple JavaScript files in Batch: Omar Al Zabir (founder of PageFlakes.com and author of the great Building a Web 2.0 Portal with ASP.NET 3.5 book) has a good article that describes the performance benefit of merging multiple JavaScript file downloads.  Note that .NET 3.5 SP1 will include a new script combiner feature that helps make doing this even easier.

  • Create ASP.NET AJAX Server Controls using the ScriptControl base class: Chris Pietschmann has a nice article that talks about how to build new ASP.NET AJAX server controls by deriving from the built-in ScriptControl base class.

  • Inline Edit Box and Postback Ritalin Beta: Dave Ward and Mike Davis have created a new CodePlex project for their popular Inline Edit Box and PostBack Ritalin ASP.NET AJAX controls.

.NET

  • 7 Ways to Simplify your code with LINQ: Igor Ostrovsky has a great blog post that talks about new code techniques you can use to improve your code using .NET 3.5 and the new language and LINQ features in it.

  • Visual LINQ Query Builder for LINQ to SQL: Mitsu Furuta has created a cool Visual Studio designer that allows you to graphically construct LINQ to SQL queries.  Also make sure to download download the latest LINQPad utility – which is invaluable for learning LINQ and trying out LINQ queries.

  • DataContracts without Attributes (POCO support): Aaron Skonnard has a good post that talks about a nice usability change with .NET 3.5 SP1 that allows you to serialize POCO (plain old objects) using the WCF serializers.

  • Ukadc.Diagnostics: Josh Twist pointed me at a new CodePlex project he is working on that extends the System.Diagnostics features in .NET to include richer logging features (SQL trace support, email support, etc).

Visual Studio

  • 11 More VS Short Cuts you Should Know: A great post that talks about a bunch of useful shortcuts to print out and remember when using Visual Studio.

Silverlight

  • 50 New Silverlight 2 Beta 1 Screencasts: Mike Taulty and Mike Ormond have put together 50 nice tutorial screen-casts that cover Silverlight 2 – all in their "spare time".  Wow.

  • AutoComplete for Silverlight TextBoxes: Nikhil Kothari has a nice blog post that demonstrates how he built an auto-complete behavior control for Silverlight. 

  • Silverlight 2 Pie Chart: Peter McGrattan has posted a nice control and article that demonstrates how to use a new Silverlight charting control he has written.

WPF

  • WPF week on Channel9: Watch 6 great videos on Channel9.  Each one includes interviews and demos with members of the WPF team talking about some of the awesome work that went into WPF 3.5 SP1 (read my blog post here for a summary of some of it).

  • WPF Testing and Application Quality Guide: Check out the 0.2 release of a free online book being developed by Microsoft that covers how to test WPF applications.  Definitely worth book-marking if you are doing WPF development.

  • WPF 3.5 SP1 StringFormat: Lester has a nice post that describes how to use the new StringFormat feature in WPF 3.5 SP1.  This makes it much easier to handle formatting of databound values.

Hope this helps,

Scott

Finding Freelance Work

I received a recent comment from Paul, asking how I found my "weekend gigs" or freelance development work. That's a pretty good question and the short answer (without sounding too presumptuous) is that God provides! The long answer is "I don't really know, it just seems to happen".

I started my career many years ago as a degreed mechanical engineer, fresh from college and looking for fame and fortune in the "oil business" (which in Texas is correctly pronounced "Awl Bidness"). Unfortunately, I arrived on the scene just in time to watch oil drop from $40 per barrel down to $7 per barrel which left myself and about 100,000 other engineers scrambling for any work we could find. (If you're a history buff or just follow the price of oil, you should be able to place my age within +/- 2 years from this information) Luckily, I landed a real engineering job for a valve manufacturer in Houston. I worked for that company for 18 years and watched it grow from $50 million in revenue to over $40 billion as it was acquired and reacquired over the next ten years. When I began with the company we had 300 employees and when I left the "company" we had over 240,000 employees and our CEO and CFO had just been indicted for tax evasion and securities fraud among other things. Care to guess the name of that company?

I held a number of engineering, product management and sales & marketing positions in that 18 year period and finally got tired of all the politics and corporate ladder climbing. So I asked the IT Director (a good friend) if he could find a position for me somewhere in the IT programming or operations area so that I could explore my love of computers, software and e-commerce. My friend and new boss gave me the opportunity to learn, do, and learn by doing and we had a blast. We put together that company's first web site, first e-commerce site and first B2B system using pre-release versions of Microsoft's SQL Server, BizTalk Server and Commerce Server. Over the next two years, with the help of some great people at Microsoft (yes, the Blue Monster really does have some great people) we designed and built a world-class B2B e-commerce system for (you guessed it) Tyco. One that has transacted literally hundreds of millions of dollars in transactions and is still in use almost ten years later.

My boss and I left Tyco, formed our own B2B consulting firm and as we had hoped, got Tyco as a client. The first year was great. We had lots of projects, worked 70 hour weeks and made good money. The second year taught us the lesson that most consultants come to call "going from feast to famine". We called it something else (mostly unprintable) but learned several valuable lessons from the experience. I learned that I'm not cut out to be a full-time consultant and for me, it's tremendously important to see "the fruits of my labors". Which is why I work for a great medium-size "private" company today and do my "freelance" work in the evenings and on the weekends "as my time and energy permits".

How do I find the work? I don't really. It just seems to find me somehow, but I can give you a few tips to get started!

  • Do volunteer work! It's good for the soul and opens you to all sorts of opportunities.
  • Give back to the community! Share your best work, start a blog or two. Post in the community forums.
  • Answer your email and every (non-spam) blog comment! It's amazing how word gets around the Internet.
  • Try something new! Life is way too short to always take the safe road. Learn a new programming language. Hell, learn a new language period.
  • Be courageous! Buy a Mac. Become a fanboy! Put an Apple sticker on your car.

Currently listening to Diana Krall's "The Look of Love".

Finding Freelance Work

I received a recent comment from Paul, asking how I found my "weekend gigs" or freelance development work. That's a pretty good question and the short answer (without sounding too presumptuous) is that God provides! The long answer is "I don't really know, it just seems to happen".

I started my career many years ago as a degreed mechanical engineer, fresh from college and looking for fame and fortune in the "oil business" (which in Texas is correctly pronounced "Awl Bidness"). Unfortunately, I arrived on the scene just in time to watch oil drop from $40 per barrel down to $7 per barrel which left myself and about 100,000 other engineers scrambling for any work we could find. (If you're a history buff or just follow the price of oil, you should be able to place my age within +/- 2 years from this information) Luckily, I landed a real engineering job for a valve manufacturer in Houston. I worked for that company for 18 years and watched it grow from $50 million in revenue to over $40 billion as it was acquired and reacquired over the next ten years. When I began with the company we had 300 employees and when I left the "company" we had over 240,000 employees and our CEO and CFO had just been indicted for tax evasion and securities fraud among other things. Care to guess the name of that company?

I held a number of engineering, product management and sales & marketing positions in that 18 year period and finally got tired of all the politics and corporate ladder climbing. So I asked the IT Director (a good friend) if he could find a position for me somewhere in the IT programming or operations area so that I could explore my love of computers, software and e-commerce. My friend and new boss gave me the opportunity to learn, do, and learn by doing and we had a blast. We put together that company's first web site, first e-commerce site and first B2B system using pre-release versions of Microsoft's SQL Server, BizTalk Server and Commerce Server. Over the next two years, with the help of some great people at Microsoft (yes, the Blue Monster really does have some great people) we designed and built a world-class B2B e-commerce system for (you guessed it) Tyco. One that has transacted literally hundreds of millions of dollars in transactions and is still in use almost ten years later.

My boss and I left Tyco, formed our own B2B consulting firm and as we had hoped, got Tyco as a client. The first year was great. We had lots of projects, worked 70 hour weeks and made good money. The second year taught us the lesson that most consultants come to call "going from feast to famine". We called it something else (mostly unprintable) but learned several valuable lessons from the experience. I learned that I'm not cut out to be a full-time consultant and for me, it's tremendously important to see "the fruits of my labors". Which is why I work for a great medium-size "private" company today and do my "freelance" work in the evenings and on the weekends "as my time and energy permits".

How do I find the work? I don't really. It just seems to find me somehow, but I can give you a few tips to get started!

  • Do volunteer work! It's good for the soul and opens you to all sorts of opportunities.
  • Give back to the community! Share your best work, start a blog or two. Post in the community forums.
  • Answer your email and every (non-spam) blog comment! It's amazing how word gets around the Internet.
  • Try something new! Life is way too short to always take the safe road. Learn a new programming language. Hell, learn a new language period.
  • Be courageous! Buy a Mac. Become a fanboy! Put an Apple sticker on your car.

Currently listening to Diana Krall's "The Look of Love".