Subscribe: .NET Meanderings
http://www.dotnetconsult.co.uk/weblog/blogxbrowsing.asmx/GetRss
Added By: Feedage Forager Feedage Grade B rated
Language: English
Tags:
back  binding  blog  custom  finally  literal  netpeertcpbinding  resolver  server  service  sql  thread sleep  thread  time  tooltip 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: .NET Meanderings

.NET Meanderings





Last Build Date: Wed, 06 Jun 2007 16:57:51 GMT

Copyright: Copyright 2003 Richard Blewett
 



My blog has moved

Wed, 06 Jun 2007 16:57:51 GMT

My blog has moved over to dasBlog and can be found Here




Sorry for the loss of service

Tue, 05 Jun 2007 14:39:43 GMT

My blog has been dead for a while due to someone managing to enter a comment that broke the very old blog engine I use (BlogX). Now I have this fixed I will also look at moving to a more modern blog engine ... watch this space




The connected systems roadshow goes to Dublin

Mon, 12 Feb 2007 14:34:19 GMT

We're running another Connected Systems Roadshow in Dublin next week.It is being held at the Berkley Court Hotel on the 21st February starting at 10:00am. We'll be talking about using WCF, BizTalk and SQL Service Broker in distributed systems.

If you would like to attend please register here.




An other successful UK BizTalk User Group meeting

Mon, 12 Feb 2007 14:16:50 GMT

The second meeting of the UK BizTalk User Group took place in London on February 6th. We had talks on Using BAM for realtime aggregation and RFID. Many thanks to Ben Goeltz and Simon Holloway for those talks. The next meeting date has yet to be announced but should be sometime in May (as long as we can find a venue as the Microsoft office in Great Poultney Street, where we have run both of the meetings so far, is closing down). I'll post an update when I have got more concrete details for date and venue.



Connected Systems Roadshow Slides and Demos

Fri, 01 Dec 2006 12:33:45 GMT

Thanks to everyone that attended the DM Connected Systems Roadshow in TVP over the last two days myself, Niels and Dom had a blast.

As I promised, the slides and demos from the track me and Niels did are now available here. Dom's track materials are linked from here.

Onwards to the next roadshow - watch this space for details




WCF Self hosting snippet

Sun, 08 Oct 2006 14:44:47 GMT

While teaching Essential WCF last week I got sick of creating the skeleton for a simple self hosted service. Dom (who was co-teaching with me) suggested I write a snippet for it. This is what I came up with:            
            servicehost             servicehost             Code snippet for creating a simple service             Richard Blewett                             Expansion                    
                                      namespace           Namespace           Service                                     contract                     Contract name                     IContract                                                     service                     Service implementation                     Service                                                     field                     The variable backing this property                     myVar                                                



Something strange with the NetPeerTcpBinding validator

Sun, 08 Oct 2006 14:25:59 GMT

I've been head down in WCF for a while now, culminating with teaching the first run of DevelopMentor's Essential WCF course last week.

After the Peer to Peer session I was talking to one of the students about the possiblity of using the technology for scenarios other than writing your own version of Windows Live Messenger (which is what all the demos seem to do). I decided to have a play around and along the way discovered a bug in the NetPeerTcpBinding validator.

I'd defined by config file thus:





binding="basicHttpBinding" />





The problem was I kept getting an error everytime I tried to create my DuplexChannel. The error read:

"Specified resolver settings are not enough to create a valid resolver.  Please ensure that a ResolverType and an Address is specified for the custom resolver."

Now, since I was developing on Win2003 I had to write my own Peer Resolver (PNRP isn't available on Win2003). However, I was using WCF to get to the resolver so I didn;t actually need to specify a custom type in the binding - just the address and binding to get to the resolver. After puzzling about this for some time - looking at another example I had that was working - I discovered some very strange behavior. Everything works if I modify the config file as folllows:





binding="basicHttpBinding"
bindingConfiguration="wtf"/>








So I had to add a reference to a binding configuration that did nothing and it all suddenly works, even though the channel stack is built exactly the same.




It lives!

Sun, 08 Oct 2006 13:33:31 GMT

Well its been a long time since I blogged so its time to get back into the groove. Hopefully this time I'll make more regular posts.



Hmmm ... where have my menu items gone?

Thu, 30 Mar 2006 10:56:47 GMT

I worked with the carnage that was the complex relationship between VS2005 and SQL 2005 betas and CTPs for pretty much the entire beta cycle and got used to strange thinngs happening in the VS IDE. On release I  installed the  RTM bits and everything looked fine. However, teaching for DevelopMentor I frequently end up using machines that I haven't myself configured. I started to notice that the menus were sometimes different and took this to be that they were different because I was debugging / editing a certain file type / etc.

However, at a recent Guerrilla.NET we had a conflict between the lab instructions and VS setup that meant we had to investigate why a menu item wasn't appearing. It turns out there are two important decisions that affect your menus. The first is the question that you answer when you use VS for the first time "what kind of developer are you" and depending on what you select you get tuned menus. I believe that selecting "Visual Studio Developer" gets you the full set.

The second issue is more subtle though. The order in which you install SQL Server 2005 and VS 2005 is significant. SQL Server 2005 can install the Business Intelligence Workbench which is hosted in the VS shell. If you install SQL Server 2005 first you may find that your menus are restricted to the BI Workbench items (an example of this is having only two items on your Debug menu).

The remedy to this is not obvious. I spent some time trawling through the Tools/Options dialog to no avail. Finally I discovered the feature was controlled by Tools / Import and Export Settings. If you choose to import to you can import one of the other configurations. Hopefully this post will save others some time and frustration.




Thread.Abort still considered harmful

Tue, 07 Mar 2006 14:35:34 GMT

Back in the days of .NET 1.1 there was a nasty issue with Thread.Abort where the ThreadAbortException could be thrown out of a finally block this was one of the reasons you should not have called Thread.Abort in 1.1. For v2.0 this no longer happens, however, this can have its own issues. Consider the following code:     class Program     {         static void Main(string[] args)         {             Thread t = new Thread(DoWork);             t.IsBackground = true;             t.Start();             Thread.Sleep(500);         }         static void DoWork()         {             try             {             }             finally             {                 while (true)                 {                     Console.Write(".");                     Thread.Sleep(200);                 }             }         }     } This terminates quite happly as the thread is a back ground thread. Now lets change the code slightly:     class Program     {         static void Main(string[] args)         {             Thread t = new Thread(DoWork);             t.IsBackground = true;             t.Start();             Thread.Sleep(500);             Console.WriteLine("aborting");             t.Abort();         }         static void DoWork()         {             try             {             }             finally             {                 while (true)                 {                     Console.Write(".");                     Thread.Sleep(200);        &nbs[...]



Re-MVP'd

Thu, 05 Jan 2006 15:27:51 GMT

Just found out that I've been awarded MVP status again for this year so this is just to say thanks to those involved and you never know - I might even get the logo on to my website this year ;-)




It Lives!!!

Mon, 02 Jan 2006 10:54:44 GMT

After more than a month of my blog offline I've finally got it back up and running.

The server I share with Ian Griffiths died horribly at the end of November. However, Ian being far more concientious than me got his blog up and running fairly quickly after the server was repaired. i got snowed under by alot of teaching and the Christmas season but finally I've spent some time copying files around and changing server configuration settings.

Its good to be back online




H'asta la Vista

Tue, 04 Oct 2005 12:06:34 GMT

Well I gave it my best shot but unfortunately there were too many bits missing for me to be able to run with it as the platform for running the Guerrilla WinFX class on Nov 7th. I've repaved on to Win2003 now and we'll run on that.

The three things that were the crunch for me were:

  • No IIS
  • No MSMQ
  • No ability to project through a projector (or at least none that I could get to work)

So its a wait for beta 2 and re-evaluate then