2013-04-11 68 views
3

我目前正在嘗試使用Xamarin和monotouch/monodroid在ios/android上託管REST webservice。我已經成功地使用HttpListener運行了一個基本的Web服務器,但現在我想使用ServiceStack託管一個完整的Web服務。在monotouch/monodroid上託管的ServiceStack Web服務?

monotouch/monodroid具有非常有限的虛擬主機功能(HttpListener基本上是唯一的方法),但ServiceStack理論上可以與此相適應。

這似乎是可能的,因爲我發現有人誰做的:http://www.servicestack.net/mythz_blog/?p=417

的問題是,項目不上的最後一個MonoTouch的版本管用了,ServiceStack似乎MonoTouch的已刪除服務器託管capabilites/monodroid最新版本...

Xamarin有一個ServiceStack(https://github.com/xamarin/ServiceStack)似乎具有託管功能的分支,但特定於服務託管構建的MonoTouch不能編譯,並且分支似乎已過時。

有沒有人成功地使承載能力ServiceStack上的MonoTouch/MonoDroid的工作嗎?或者你有關於如何使其工作的想法?

回答

2

好吧,經過一番研究,允許ServiceStack自託管的項目已經被刪除。它與(舊)Xamarin版本(https://github.com/xamarin/ServiceStack)有更好的運氣,並且可以編譯它並使其以某種方式工作。

因爲我需要的是最新版本的ServiceStack同步,我想我沒有其他選擇,而不是推出自己的改編,使用舊Xamarin分支爲出發點。

+0

你有沒有設法在Xamarin應用程序中託管ServiceStack?GitHub上舊的Xamarin分支不支持託管它僅用於客戶端 – 2015-01-23 14:29:45

3

你可以嘗試this tutorial爲自託管ServiceStack。

看起來它會在引擎蓋下使用HttpListener,但我不知道AppHostHttpListenerBase類是否會針對Android編譯爲MonoTouch/Mono。

+0

這正是我試圖實現,問題是編譯的MonoTouch /機器人兼容DLL包含'AppHostHttpListenerBase'。 ServiceStack曾經在老版本(如我的鏈接)中使用它,但現在不再是了,Xamarin fork也擁有它,但它們都沒有在最新的monotouch版本上編譯。 – sinedied 2013-04-11 14:47:11

+1

看起來他們只是在項目中檢查了「項目選項 - >編譯器 - >將警告視爲錯誤」。我取消選中這些,然後只編譯ServiceStack,ServiceStack.Common和ServiceStack.Interfaces,它似乎構建得很好。這個課程是在這三個項目中的一個嗎? – jonathanpeppers 2013-04-11 15:24:43

+0

我敢打賭你說的是Xamarin版本?我做了同樣的事情,編譯器在ServiceStack.Interfaces編譯時崩潰。無論如何,有趣的類在ServiceStack.dll中編譯得很好,但它不是一個monotouch項目(即使使用monotouch目標,它也不能用於monotouch)。 該dll的替代品位於ServiceStack.MonoTouch下,由於很多錯誤而無法生成:( – sinedied 2013-04-12 07:32:41

相關問題