WCF 5.0 and oData 3.0 API not work with azure tabl

2019-06-20 02:02发布

问题:

After i migrated my WCF5.0 application to integrate with azure i can not use oData 3 api with azure table storage. I got this error-

The type 'System.Data.Services.Client.DataServiceResponse' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data.Services.Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

The type 'System.Data.Services.Client.DataServiceContext' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data.Services.Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

After I add System.Data.Services.Client.dll in my project the problems goes away but i can not use oData 3.0.

回答1:

This is second time this question has asked recently. The Microsoft.WindowsAzure.StorageClient.Dll has direct reference dependency on System.Data.Service.Client.Dll as shown below so if you are going to use Azure Storage Client API you would have to reference System.Data.Service.Client.Dll in your application and sure you can not use oData 3.0 supplied by WCF 5.0 SDK.

If you can create a web request based on RESTful Interface to Azure Storage directly then you can use oData 3.0 + WCF 5.0 directly in your code but that's the leg work you may need to do.



标签: azure odata