Windows Media Services & Windows 2008

Win2008 I missed something important about Windows Media Services WMS in Windows 2008. A lot of the features that were previously only available in Windows 2003 datacenter or Windows 2003 Enterprise editions are standard in Windows 2008! Yipee and about time!

The inability to write custom authentication plugins except for the advanced windows versions prevented an old project from actually being viable. Now custom authentication plugins will work for me.

The new 2008 version is reportedly much more efficient and up to some serious traffic and has some other very relevant to features to some work I cant talk about;


Grid computing to barcode recognition…

Sunderland University (UK), Grid Computer

The Institution of Engineering and Technology - The IET On the 9th Feb 2009 I went along to an IET evening lecture hosted by the University of Sunderland Centre for Internet Technologies. It was about the grid computer they have built there where you can read more about it on their site.

There is also a quick item about the event here (I’m at the front),

IET presentation on 3D computer rendering using the grid computing facility at the University of Sunderland.

CIT has trialled four different rendering applications on the grid - Autodesk 3DS Max, Maxon Cinema 4D, NetTek Lightwave and Blender - and the presentation focused on the outcome of the trials.

The lecture was well attended by a mixture of IET members, students, and others with an interest in the subject. Following the presentation, a practical demonstration of the grid was given to attendees.

I have to say I was really impressed at the environment the students there get to work and the grid computer facility itself was interesting. Points that stick in my mind were;


WCF Multiple host headers IIS7 in a DMZ with NAT


After some investigations I have come to the following conclusion. You can not host a WCF service in IIS7, .NET 3.5, where the host site uses multiple host headers and have the service respond to more than one of those host headers.


IIS is in a DMZ with one internal IP address. It can also be accessed from the internet via a public different IP address that goes through Network Address Translation at the firewall. Thus effectively the site has one IP address but two possible host headers to respond to.


In order to get the WSDL to correctly insert the IP address of the server, rather than the server machine name. Two entries were made into the site bindings, with separate host headers (IP address as host header as we have no domain name set up for this server) for each.

This creates an error from the service that you will find many reference to by searching the Internet.

This collection already contains an address with scheme http. There can be at most one address per scheme in this collection.

This is because WCF only supports one base address for each protocol, but IIS can support multiple. This is summarised nicely here: Ram Poornalingam's WebLog

If you don’t configure up both IIS bindings in the WCF configuration you get the following message as WCF does not know what to do.

No protocol binding matches the given address [blah blah blah] Protocol bindings are configured at the Site level in IIS or WAS configuration


I set the host header as the IP address of the site as the WSDL was reporting localhost as the address of the server without it.


U.B. Funkey USB Detection Example VB.NET & WPF

USB Funkey Today I was helping a college get USB detection working on a WPF application. He was using a library I wrote for another windows forms application and was trying to use it in a WPF application.

The problem is that my library overrode the WndProc method of the main application form in order to capture and route the windows messages through to the library.

WPF does not natively have the WndProc as it uses a different messaging architecture, however an interop has been provided details of which can be found in "WPF and Win32 Interoperation Overview" and more "WPF-Win32 Interop Part 2: Hosting Win32 Controls (ListBox) in WPF Windows"

I’ve mentally bookmarked this subject to come back to as it looks like it gets involved but essentially if you want to detect the removal of a USB device in a WPF application you can do it by using the example I outline in this page. The example is a get you started and I would read around the subject before using this in production code.

Read all about U.B. Funkey USB Detection Example VB.NET & WPF