WCF Data Services 5.0.1 Released
We have just pushed the official bits for 5.0.1 to NuGet and should be releasing an updated MSI sometime within the next week. Thanks to feedback from the community we found and fixed several bugs, detailed below.
NuGet Links
- https://www.nuget.org/packages/Microsoft.Data.Services
- https://www.nuget.org/packages/Microsoft.Data.Services.Client
- https://www.nuget.org/packages/Microsoft.Data.OData
- https://www.nuget.org/packages/Microsoft.Data.Edm
- https://www.nuget.org/packages/System.Spatial
Release Notes
- Added configuration setting to ODataLib to allow users to intercept the XML reader before ODataLib processes the payload
- Fixes bug where DateTime values do not roundtrip properly in JSON verbose
- Fixes bug where $metadata requests fail on services with both actions and service operations
- Fixes bug where $expand requests fail on Oracle providers
- Fixes bug where vocabulary annotations in an external annotations file fail to resolve the target
What does the MSI do?
All of the fixes detailed above are in the NuGet bits. There is one additional fix in the MSI for code generation against services that have multiple overloads for a function import. One important nuance of the MSI is that it removes the WCF Data Services DLLs from the GAC. (The 5.0.1 MSI is an upgrade to the 5.0 MSI, which means that the 5.0 MSI gets uninstalled and its install actions – including the GACing of the DLLs – are reversed.) We have blogged previously about leaving the GAC.
Where should the MSI be installed?
The MSI should only be installed on development machines as it solely contains tooling fixes. If the MSI is installed on a production Web server running a WCF Data Services 5.0.0 service that was not bin deployed, the service may stop functioning.
Feedback Please
As we begin to release more quickly and issue more prereleases, your feedback is critical to the process. Please leave your comments and thoughts below.
Comments
Anonymous
May 19, 2012
Great news about the bug fixes and the GAC. I am working on an MSCIS team where we use the 5.0 version in Azure and we are having a couple of issues WCF Data Services and ACS. From time-to-time the data service is returning a 500. If I reload the page then everything works fine. Right now nothing has been GACed... could this be contributing to the issue? Could the 5.0.1 update resolve this? Is this a known issue I can resolve by reading something else?Anonymous
May 21, 2012
The comment has been removedAnonymous
May 21, 2012
Are there are any examples for ODataLib? NuGet packages look very promising but without having its source code or tests it's difficult to figure out how to use them.Anonymous
May 24, 2012
@Vagif - we need to make an update to CodePlex, but an old version of the source is available there (http://odata.codeplex.com/).Anonymous
May 28, 2012
Where can we get the 5.0.1 MSI? Or, if it's not available yet, where will it be once it's ready? Thanks!Anonymous
May 28, 2012
Where should bugs be filed? The codeplex project had 1 issue created last year with no response, so it's not clear if bugs should be filed there, or connect, or what. :) Thanks!Anonymous
May 30, 2012
@James - We're currently debating the value of releasing the 5.0.1 MSI. It only had one fix that the NuGet packages didn't have (a fix for codegen against services that have multiple overloads for a function import) and we believe we'll have to release an updated MSI with JSON light anyway. Given the fact that we do have some release cost and the JSON light release will hopefully be sometime soon, we're tentatively planning to hold off for now on the MSI. If that's a problem for you or anyone else reading this comment, we'd like to hear it. (Remember, the new MSI won't GAC the DLLs anyway.) As far as bugs go, we have historically recommended that people work through things on our forums (social.msdn.microsoft.com/.../threads) first. Connect is an option but you are more likely to get a rapid response from the team through the forums. HTH, MarkAnonymous
May 30, 2012
Does this release work with Sharepoint 2010Anonymous
June 11, 2012
I found two bugs/problems when adding a Service Reference for a WCF DataService version 5.0.1-rc to a silverlight 4.0 client in VS2010 :
- After adding or updating the service reference, an assembly reference is added to the project for System.Data.Services.Client.dll wich conflicts with Microsoft.Data.Services.Client.SL
- The code-generated collection fields are missing a 'global::' in front of the enum value System.Data.Services.Client.TrackingMode.None. This is problematic if the entity contains a property named System: sample: private global::System.Data.Services.Client.DataServiceCollection<ActionArgument> _Arguments = new global::System.Data.Services.Client.DataServiceCollection<ActionArgument>(null, System.Data.Services.Client.TrackingMode.None);
Anonymous
June 13, 2012
I have a very strange problem since I have updated from 4.0 to WCF Data Service 5.0.1 (via Nuget). I have a Silverlight 5! Application and I set a Token in the SendingRequest-Event of the Context to the Http-Header: private void ContextSendingRequest(object sender, SendingRequestEventArgs e) { e.RequestHeaders["token"] = "xyz..."; } On the Server I use the ProcessingRequest event to read out the HTTP-Header and verify the token: var authHeader = HttpContext.Current.Request.Headers["token"]; .. Unfortunately now I can't Update or Insert any Entities because I get the following Exception: System.Data.Services.Client.DataServiceException: <?xml version="1.0" encoding="utf-8" standalone="yes"?><error xmlns="schemas.microsoft.com/.../code><message xml:lang="de-AT">Content-Type header value missing.</message></error> If I comment out (all the above mentioned lines of code) everything works as well... I can't understand this strange behaviour?! How can I fix this?? Another strange thing I found out (using Fiddler) is the fact, that it uses the DataServiceVersion 1 and the MaxDataServiceProtocolVersion is V2 although i set the Version on the Server to v3 --> config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3; Thanks in Advance! SteveAnonymous
June 18, 2012
@Stefan Pe Try to manage default handled event in your specialized DataService<T> implementation on server side => This works fine on my environment. protected override void OnStartProcessingRequest(ProcessRequestArgs args) { string strMessage = string.Format( "Processing HTTP {0} request for URI {1}", args.OperationContext.RequestMethod, args.RequestUri); var requestHeaders = args.OperationContext.RequestHeaders; var token = requestHeaders["token"]; [...] } Hope this helps ...Anonymous
July 09, 2012
We are trying to use WCF Data Services 5.0.1 on Azure. On local simulator everything is working properly, but deployed on Azure we got an error because service is searching for version 5.0.0 instead of 5.0.1. We have set all assemblies with Copy Local and they are correctly deployed on server. Any clues?Anonymous
July 23, 2012
Why dont you make the server side (DataService<T> et al) also open source?