I’m completely new to ADO.NET/WCF Data Services. On my first time setting up and testing an ADO.NET data service, I ran into this puzzling error:
The response requires that version 2 of the protocol be used, but the
MaxProtocolVersion of the data service is set to
DataServiceProtocolVersion.V1.
References online indicate that I need to set:
config.DataServiceBehavior.MaxProtocolVersion = Common.DataServiceProtocolVersion.V2
However this property is not available in IntelliSense and produces a build error when I code it manually.
I’m using Visual Studio 2008 SP1, .NET 3.5 SP1, and VB.NET. How do I enable version 2 of the protocol?
After about a day and a half of searching (and reapplying VS2008 SP1), this blog article finally cleared things up:
Astoria V.Next Ships for .NET 3.5 SP1 -> Versioning Issue
Turns out everything was fine with my installation, but I had skipped over the fact that the signature of the InitilizeService() method had changed ever so subtly. As Stephen Forte indicates in his blog:
Emphasis mine. It’s amazing the difference a simple “I” makes. To answer Stephen’s concern, this is also backed up by MSDN, but they currently don’t point out the difference in referencing the interface vs the implementation object:
Configuring the Data Service (ADO.NET Data Services)
Here’s the code in VB:
Compiled, tested, and passed. I have just taken my first step into a larger world…