WCF… Windows Calamity Framework? something like that

I’m currently doing research and revision for my 70-487 exam – Developing Microsoft Azure and Web Services.  I was doing some reading and I encountered some information about hosting WCF Data Services and OData.  It wasn’t something I had encountered in so far – so it has been an interesting and exciting prospect to look into.

I found a wonderful step by step tutorial into creating and hosting a WCF Data Service on MSDN, so I went through it.

First problem : I need some data.  I’m quite getting into LocalDB at the moment – I’m thinking about the possibility of creating a developer database through migration scripts – so that a developer could clone a Github repo and run the project.  The Database would be automatically created for them, and populated with sample data (if appropriate) – meaning that developers could run this project without a dependency on a database or fancy storage like that.

I managed to get the SQL Scripts for Northwind from codeplex – but with almost everything that Microsoft does these days being on github – going back to codeplex seemed old and outdated.

I followed through the instructions and ran the project.

OData seems to be very similar to REST – except that the url used are representative of the entity structure(rather than hiding behind controllers), and query like operations can be passed through to the server – giving maximum flexibility in terms of usage.   So – anyway… I ran my project from Visual Studio 2015.

Metadata from my WCF Data Service
Metadata from my WCF Data Service

Yay – I have metadata about my service.Next step was to view the contents of the customers service by subtly altering the URL to add Customers to the end.

And then this happened :

WCF Data Service 2
Customers can’t be downloaded?
 A pop up from Edge saying that Customers couldn’t be downloaded?  That can’t be right. Let’s have a look at the same thing on Chrome.
WCF Data Service 3
Loading the Same OData service on Chrome reveals lots of lovely data.
So what’s going on here – my service works fineunder Chrome – but fails under Edge?  Only Edge?  How about IE
WCF Data Service 4
Acessing the OData Service on IE does present data – which IE interprets as an RSS feed.
It does seem to show the data under Internet Explorer – so it just appears to be the Edge Browser which is causing the problem. Next up – let’s run the network tab, and we’ll see what’s shaking.
WCF Data Service 5
Requesting the OData Service is stuck at Pending
 So – notice that the result is still pending?  In comparison navigating to http://localhost:50739/NorthwindCustomers.svc/ returns the following:
WCF Data Service 6
Accessing the OData Metadata on MS Edge does seem to return (response code 200)
Currently I’m working under the  theory that Edge just doesn’t understand an element of the communication received.   Given that the same service is being used for all browsers, then the issue is down to how Edge interprets some header received from the server.
Next up : I’ll record the headers that are returned from the service and see if I can determine a difference between the browsers – until I learn more though, I’ll have to work under the assumption that Edge just won’t work with this stuff

Mike is the programmer in the bunker. He writes software for a shaddowy software house in Worcester. He works mainly in .NET and python, but equally has found himself having to support different technologies such as MAXScript and .NET integration. Spending most of his time working on his passion of content packaging, and is currently working on an ebook authoring system for Ubuntu. Although he is the main programmer on the site he doesn’t do much with regard to writitng games