我有這兩種可能性之間進行選擇從Windows應用商店/的Windows Phone 8應用程序訪問數據庫:WCF服務或OData的爲Windows 8/WP8應用
普通WCF服務,實體框架,和方法,讓我的數據(爲例:GetUsers())
WCF數據服務(OData的)也與實體框架
我測試了這兩種方法,並it'sworking,但我現在不知道該選什麼。
那麼,每種方法的區別和優點是什麼?
感謝
我有這兩種可能性之間進行選擇從Windows應用商店/的Windows Phone 8應用程序訪問數據庫:WCF服務或OData的爲Windows 8/WP8應用
普通WCF服務,實體框架,和方法,讓我的數據(爲例:GetUsers())
WCF數據服務(OData的)也與實體框架
我測試了這兩種方法,並it'sworking,但我現在不知道該選什麼。
那麼,每種方法的區別和優點是什麼?
感謝
如果您的服務可能會不斷與客戶,你不控制,WCF DS(因此的OData)談論也許應該是你的選擇,因爲你的服務會比可互操作的,更成爲OData生態系統不斷增長的一部分。
如果你不關心任何客戶,但你自己,那麼你可能根據你的決定,易於開發,性能,可維護性等等。
一個直的WCF服務會給你更精確的控制,並可能允許以各種方式提高性能,因爲你對數據的外觀有更多的控制權。但這可能意味着更多的工作。
WCF DS服務器/客戶端將使您不必擔心序列化或反序列化數據到請求或響應。 WCF DS客戶端可以構建多種類型的請求並免費提供實體狀態跟蹤。如果你使用Entity Framework,服務器也很容易啓動和運行。如果您需要做一些不在OData中的內容,則可能很難使用WCF DS,具體取決於您需要的內容。使用Web API也有很多動力,比如爲你的服務檢查Web API + OData。如果你朝那個方向發展,那麼你仍然想使用WCF DS客戶端。
底線:WCF DS很可能會更快地啓動並運行很多您可能需要的功能。但是如果你最終需要一些堆棧無法處理的自定義邏輯,那麼工作起來比直接的WCF服務更難。
請注意,WCF DS客戶端現在有一個5.6.0-alpha .NET Portable Library可用(預發佈),它將支持來自同一個DLL的Windows應用商店和Windows Phone 8應用。這缺少了手機應用程序經常需要的一些功能,例如墓石加固支持。如果這是一個問題,請考慮使用older releases (5.0) of the specific Windows Store and Windows Phone 8 versions of WCF DS Client。
哦,非常感謝這個解釋! – Gab