Wednesday, 18 February 2009

Do ASMX or WCF Proxy clients use IO completion ports?

I'm in the middle of performance testing a critical section of my project, when I notice a whole lot of extra threads being used to to perform WaitOrTimerCallback operations. 

threads

On closer inspection I can see that these are being spawned by my ASMX client proxy class for operations on a remote server.

I was under the impression that these were using IO completion ports like all of my other asynchronous IO Calls.

Submit this story to DotNetKicks

Saturday, 14 February 2009

Concurrency and Coordination Runtime Learning Resources

I have recently been learning the in's and out's of the Concurrency and Coordination Runtime (CCR). Finding good learning resources for this relatively new technology has been quite difficult.

(A quick Google search brings up "Credence Clearwater Revival" as the top result!)

Some of the resources I have found:

Do you have any good learning resources for the CCR?

I really hope that Microsoft will publish more material, so far it has been too Robotics specific. I believe that MS needs to acknowledge that most people are using the CCR in isolation from the DSS and Robotics Studio.

I also published this list at StackOverflow

Submit this story to DotNetKicks

BizSpark - Getting a Helping hand from MS

I'm not sure if you are aware of this or not, but Microsoft has launched a new service/program called BizSpark.

BizSpark is basically a kind of sponsorship program offered to startup companies working with the MS Technology stack.  They offer free access to their MSDN Subscription service for up to 3 years while you meant their restrictions and stick to their TOS.

For our small company this has been a God send.  I can finally get access to the development tools I need to launch our service!

Thanks Microsoft for giving back to the community!

Submit this story to DotNetKicks

Monday, 2 February 2009

VB.10: Yield to the pressure and give us enumerators!

Unless you have been under a rock for sometime, you would have heard about the amazingly powerful CCR (Concurrent Coordination Runtime) from the robotics group in Microsoft.

In my case in particular, I could see the CCR making significant performance improvements to my current work project.  But there is a catch.  VB.net (3.5 SP1) does not support the 'Yield' keyword that C# has had since 2.0.

CCR uses some nifty manipulation of the enumerator pattern to make asynchronous code appear to be sequential.  An essential part of this ability comes from the usage of the Yield keyword.  The C# compiler reads the enumerator class and converts it into a State machine.  Long story short - it is quite a clever approach.

VB.net Team, please hear our cry.... Add the Yield command please!

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=381572

Submit this story to DotNetKicks

Saturday, 31 January 2009

Patent Trolls

There are all sorts of people on the planet, some are better than others.  Others are Patent Trolls!troll

What is with these intellectual armed robbers?

Do they really just register any sort of fancy idea, of which they have no intention of actually making anything with.  And simply wait until some poor company (Poor? no actually they hope for rich ones!) to independently come up with the same idea.  AND Actually do something with it.

Simply wait around 5-6 years until other unsuspecting parties are also using 'Your' idea.  and then SUE SUE SUE!

Seriously, your idea?

But do you hate the player? or hate the Game?

I think the patent office needs to review how easily they are giving away the rights to 'idea' that basically are just common sense.

A plea to the companies being unjustly sued: Please fight! Don't settle out of court!  That is what is keeping this cycle turning!

Submit this story to DotNetKicks

Getting WHS to work!

I don't know about you, but getting computers to connect to WHS (Windows Home Server) can be quite tricky.  In fact it has almost always been that my laptop (Running Vista Ultimate) would connect easily, but my wife's computer (Running XP) just would not play nice.

In the recent reinstallation (which took 3 attempts to get right!) I decided that enough was enough. I WAS GOING TO CONNECT ALL PCs!

It turns out that it was actually easy.  First thing, straight after installing WHS on the Server, Connect all of your PCs.  Don't let the server upgrade anything! (Well at least make sure you have the critical device drivers)

I understand that WHS is meant to be just that, a file storage/backup server.  But it is too hard for a developer to resist using the underlining windows server 2003.

So if you are having problems connecting your PCs, and, if like me, you had tried everything under the sun to connect another computer to WHS.  Try a reinstallation  (I recommend the New Installation) followed by quick connections of all of your PCs

whs-logo

Submit this story to DotNetKicks

Friday, 30 January 2009

Installing WCF on IIS6

I have finally reinstalled WHS (Windows Home Server), now the tricky bits: Getting WCF and MVC working correctly.

Getting WCF Working

  1. Install the latest .Net framework (3.5 SP1 in this case)
  2. Launch a Command Prompt with full privileges

Right click on the command prompt short cut in the start menustartmenu-1

startmenu-2

Uncheck 'Run this program with restricted access'dialogue

  1. Go to 'C:\Windows\Microsoft.NET\Framework\v2.0.50727'
  2. Run aspnet_regiis -i
  3. Add a new web-site in IIS, check to see if the .svc extension is now available

iis-1 dialogue-2

  1. The .svc extension is now appearing, if your WCF service is in a web-site that already exists (Default web-site etc) then just copy and paste the .svc information into the properties of your website.  Otherwise when you create your new site it should be working.

Submit this story to DotNetKicks