Mike Taulty's Blog
Bits and Bytes from Microsoft UK

March 2005 - Mike Taulty's Blog

Blogs

Mike Taulty's Blog

Elsewhere

  • Indigo: Switching encoding on channels

    In my previous posts about Indigo messaging making use of channels; A slightly different "hello world" for Indigo Layers of Indigo Indigo- Moving on from IInputChannel to IRequestChannel I went with the default encoding of the messages that were sent on the wire whilst in this posting Layers of Indigo I mentioned that it's possible to plug in an encoder (a class deriving from MessageEncoder with primary methods looking to be ReadMessage, WriteMessage ) in order to change the nature of the message on the wire. One way in which we can alter the encoder is to switch the MessageEncoderFactory property on the HttpListenerFactory / HttpChannelFactory before beginning to make use of it. The 3 supplied variants of MessageEncoderFactory look to be BinaryMessageEncoderFactory, TextMessageEncoderFactory, MtomMessageEncoderFactory . The "client" side code of my sample now looks like this if I switch in the BinaryMessageEncoderFactory; static void Main(string[] args) { HttpChannelFactory factory = new HttpChannelFactory...
  • Indigo: Moving on from IInputChannel to IRequestChannel

    In my previous Indigo post , I made use of a simple IOutputChannel for sending a message and IInputChannel for receiving one. Naturally, there are other message exchange patterns (MEPs) and there's modelling for these in other channel interfaces which looks to include IInputChannel, IOutputChannel, ISessionChannel, IRequestChannel, IReplyChannel, IProxyChannel, IDuplexChannel, IHttpRequestChannel, IHttpResponseChannel and probably some more. I thought I'd have a go at taking my previous post's code and using IRequestChannel and IReplyChannel to get a message back to the original "client". Here's some code for it; using System; using System.Xml; using System.IO; using System.ServiceModel; using System.ServiceModel.Channels; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { HttpChannelFactory factory = new HttpChannelFactory(); factory.Open(); IRequestChannel channel = factory.CreateChannel<IRequestChannel>( "http://localhost:5050/simpleService"); channel...
  • Layers of Indigo

    In trying to understand the Indigo CTP, the sketch that's resonating best with me right now is the one below which I've stolen from a slide-deck and shows how the technology is layered . An application can make use of any or a mixture of the layers. At the bottom, there's a messaging layer. This is what I've been playing with a tiny bit so far. The messaging layer moves messages from A to B and it does so by providing an abstraction called a channel which flows from A to B over a transport (possibly in one or more channel-specific directions - one-way, both-way, request-reply etc). Built-in transports include HTTP, UDP, TCP and an IPC transport. Channels feel very much like sockets to me in that you create a channel that points to a particular address and you accept incoming channels providing communication back to a caller. Channels transmit messages which are themselves a modelling of a SOAP envelope (in their header/body structure). When sending a message down a channel the message is put through an encoder...
  • .NET BCL Team Blog

    This is old but I wasn't aware of it. The .NET Framework Base Class Library (BCL) team has a blog site over here; http://blogs.msdn.com/bclteam It looks like pretty good stuff to me - only had a chance to skim through the most recent posts but there's a lot of information up there.
  • Windows Server 2003 Service Pack 1 & x64 OS editions

    Windows Server 2003 Service Pack 1 released yesterday. There's a press-release here http://www.microsoft.com/presspass/press/2005/mar05/03-30winservsp1pr.asp that you can follow. Hidden down at the bottom of that is a mention of the fact that the versions of Server 2003 for the x64 platform and the version of Windows XP Professional for x64 have both gone out of the door as well which has to be good news for those of us with a 64-bit machine :-)
  • A slightly different "hello world" for Indigo

    I've started playing with Indigo a little bit. Clemens Vasters has three great posts on the basics of Indigo so I'm not going to reiterate those here but will link to them; A Weekend With Indigo. Part 1- Simple Messaging A Weekend With Indigo. Part 2- Fun with Messaging and Explicit Addressing A Weekend With Indigo. Part 3- Hard-Core Messaging. Duplex Conversations. As always with technology, I have a strange "bottom up" learning style which is really unproductive as it tends to mean I spend a long time trying to work out what the heck is going on rather than focusing on just getting stuff done. Then again, the "stuff that I have to get done" these days is really more about learning how things work than actually doing anything productive with them :-) I built a couple of sample Indigo applications with ServiceContract, OperationContract and ServiceHost and that seemed pretty good but I was feeling a bit itchy as to what was going on. With that in mind, I tried to reduce what I had down to its...
  • Indigo, Proxies and Generic Types

    There's something that the Indigo team seem to be doing with their proxies and generic types that I hadn't really thought about previously. The pattern looks something like this; class b<T> { public b() { } protected T _member = default(T); } interface IDo { void Do(); } class d : b<IDo>, IDo { public d() { } public void Do() { _member.Do(); } } I stared at this for quite a while as I hadn't seen this yet in .NET generics (it feels a little more like templates in C++ to me) and I was wondering for a while how this worked until I realised that the class d in my example there isn't actually a generic type at all. So, you could not call Do() in the class b without some kind of constraint which would kill the whole idea but you can call it in d because d is not a generic type at all. I'm not quite sure what you call it but it's an interesting thing to see :-)
  • Aaron Skonnard on ASMX V2.0

    Aaron Skonnard has written a great article on the new ASMX web service features that you can expect to find in Visual Studio 2005 beta 2 when it comes out. The highlights from this for me; The improved XML editing support (yes, the XML editor gets snippets and does the right thing with respect to IntelliSense for schema that it recognises) ASMX web services supporting a new interface-based developer model (note: that doesn't mean that it's gone to a WSDL-first model but it has gone to a .NET interface-first model) Serialization bits and pieces - support for generics (Nullable<T> is likely to be very useful) and support for custom serialisation. WS-I basic profile 1.1 compliance checking.
  • Sample ASP.NET 2.0 Membership Provider

    In ASP.NET 2.0 we have the provider model where storage for the different API sets (e.g. Membership, Profile, Navigation, etc.) is pluggable in that you write a provider for your particular store if we don't ship one that you want to use. I got asked for a sample provider the other day and struggled to find one on the web so I'm including a link here to the online VS 2005 docs which have a sample membership provider for ASP.NET 2.0 The link's here; http://winfx.msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_aspnetcon/html/d8658b8e-c962-4f64-95e1-4acce35e4582.asp
  • Shuttle Media Center at CEBIT

    Wow, it looks like Shuttle had a very smart preview of a new form factor they're doing for a media center PC at CeBIT this year. There's a reasonably decent picture here http://eu.shuttle.com/en/resourceimage.aspx?raid=12464 - looks just like a Video player, very nice indeed.
  • Web Services on MSDN Nuggets

    A new set of "Web Services" MSDN Nuggets have started to drop out on the UK MSDN Site . MSDN Nuggets are 10-15 minute demonstration clips of how to get stuff done with the .NET Framework each one exploring a particular topic with little/no presentation and a lot of code/demo. Here's the link http://www.microsoft.com/uk/msdn/events/nuggets.aspx , the topic sections are now; .NET Nuggets (i.e. VS .NET 2003 and .NET 1.1) SQL Nuggets (i.e. SQL Server 2005) Web Services Nuggets (i.e. ASMX in .NET 1.1 plus Web Services Enhancements V2.0) There's more to come :-)
  • Announcing a Unique UK .NET Developer Event

    The fantabulous Mr Mike Pelton has turned up the activity level on his blog site and has posted some information about the "Developer...Developer...Developer" event that's being hosted at Microsoft UK on Saturday (yes, Saturday) the 14th May. Here's the copy stolen from Mike's original post using DeveloperCommunity.BestSpeakers; using Microsoft.Premises; namespace DeveloperDeveloperDEVELOPER { class ByDeveloperForDeveloperEvent { string date = "Saturday May 14th 2005" ; string location = "Microsoft UK's HQ, Reading, England" ; bool isRelaxedAndInformal = true ; bool isTechnologyFocusDotNet = true ; bool isLunchProvided = true ; bool arePresentersFromMicrosoft = false ; bool isOnASaturday = true ; bool isFree = true ; public void EnjoySessions() { for ( int iTrack = 0 ; iTrack < 2 ; iTrack++) { for ( int iSession = 0 ; iSession < 6 ; iSession++) { AttendSession(iTrack, iSession); } } } public void AttendSession( int iTrack, int iSession) { //TODO // if (I want to share my experiences...
  • Whidbey ASP.NET and Windows SharePoint Services WebParts

    There's an important post over here Keep Writing SharePoint Web Parts Until (at least) 2006 about the interoperability that you can expect to get between Whidbey ASP.NET 2.0 WebParts and Windows SharePoint Services WebParts.
  • MSDN Subscription Changes & VS 2005 Pricing/Licensing Details Announced

    MSDN subscriptions are changing with the forthcoming release of VS2005 and the licensing/pricing for VS 2005 has been announced. There's a press release here: http://www.microsoft.com/presspass/press/2005/mar05/03-21vs2005pr.asp but the meat of the information starts here http://msdn.microsoft.com/howtobuy/vs2005/ with a path for existing MSDN subscribers and for new ones. The different subscription levels are then detailed on this page http://msdn.microsoft.com/howtobuy/vs2005/compare/ and there's a breakdown chart here http://msdn.microsoft.com/howtobuy/vs2005/chart/ . There's then a transition guide here http://msdn.microsoft.com/howtobuy/vs2005/transition/ and a FAQ here http://msdn.microsoft.com/howtobuy/vs2005/faq/ Finally, you can feedback via this link here http://msdn.microsoft.com/subscriptions/phone/
  • Displaying my blog site in FireFox

    I got some feedback from Oliver Sturm that my blog site displayed horribly in FireFox so I grabbed myself a copy tonight and took a look and he's definitely right (thanks for sending me the pictures, Oliver). So...the blog site has a new theme (the .Text "blue" theme) which seems to display a whole lot better in FireFox and IE. (No way I want to divide my already limited readership!)
1 2 3 Next >