2013-05-06 113 views
1

我要爲web(asp.net mvc)和mobile(iOS和Android)構建應用程序。他們三人必須交流(分享數據,用戶授權等)。什麼是最好的辦法呢?使用asp.net web api或azure移動服務?在asp.net mvc和移動應用程序通信中的Web應用程序

編輯

我也想知道究竟是什麼樣這種情況下最好的做法:我有一個需要溝通白衣網絡和移動使用服務的一個工程項目數據庫和業務邏輯。那麼,哪種技術最適合開發Azure或web api或smth服務。別的?

回答

2

你的問題很一般。

ASP.NET Web API只是一個構建REST風格的Web服務的框架,您可以在其他地方主機。它不會幫助你完成「溝通(共享數據,用戶授權等)」任務。

Azure Mobile Services是一個Azure託管的PaaS,它實際上提供了您需要的一切,甚至更多。它還爲您提供您可能使用ASP.NET Web API實現的隨時可用的RESTful Web服務,但除此之外,它還提供對聯合身份驗證,數據共享等的支持。

因此,我會說,因爲你似乎對這個領域有點新鮮感,你應該嘗試移動服務,因爲他們有很好的文檔記錄,並有很多適合初學者的漂亮的教程,here是我最喜歡的一個。

您也可以在建立自己的移動服務並擴展它之後下載適用於Android和iOS的項目模板。這對於初學者和業餘愛好者來說確實是一個很好的幫助。

UPDATE:

讓我們接近你的問題與湛藍提供不同的解決方案,一些虛構的場景:

Azure Mobile Services蓋,你必須運行需要偶爾連接的應用程序的多個(移動)設備的情況下通過雲同步他們的內容。 AMS爲您提供了實現數據請求和更新的自定義處理邏輯的可能性;它隱藏了實施和託管Web服務的負擔。 大約90%的邏輯是直接在管理門戶中設置或寫入的,其餘的僅僅是客戶端邏輯。 該服務的主要目的是數據同步(這是核心功能),所有其他服務(身份驗證,日誌記錄,調度程序)只是輔助功能。 用於開發的語言是JavaScript,整個開發類似於使用框架如Node.js的服務器端開發。

Azure Web Sites是在IIS中託管代碼的方式,通常是網頁,但在這裏託管Web服務(基於Web API或甚至成熟的WCF)也不會妨礙您。如果允許其他IIS應用程序(來自其他用戶)也可以在此運行(共享實例),則Azure網站易於部署,並且這是一種用於託管Web服務的相當便宜的解決方案,但您也可以通過執行一個保留的IIS實例(並支付更多)。當然,您可以在這裏重用大部分(幾乎全部)現有的業務邏輯(除非您需要像本地無法在IIS中託管的interop或shell訪問等異類)。這種解決方案的缺點是,你的邏輯將運行在你的Web服務的上下文中,並且對於長時間運行的處理,這可能是一個非優化的解決方案。

Azure Cloud Services允許您推遲邏輯規則的處理並將邏輯與服務輸入分離。在這種情況下,您可以擁有兩種角色,通常稱爲Web角色和輔助角色。 Web角色爲您的服務提供端點並對請求進行排隊,輔助角色讀取隊列並進行處理。這使您可以微調負載平衡和容量規劃,增加具有Web角色和輔助角色的並行實例的數量。

+0

感謝您的回答,我知道我的問題是非常籠統的,但我想知道這樣的場景的最佳做法是什麼:我在一個項目中需要使用服務來交流網頁和移動設備的數據庫和業務邏輯。那麼,哪種技術最適合開發Azure或web api或smth服務。否則 – hyperN 2013-05-06 23:11:01

+1

您能否請更新您的原始問題?答案太長,無法評論。 – 2013-05-07 06:32:20

+0

我已更新原有問題 – hyperN 2013-05-07 07:15:09

相關問題