2013-07-01 21 views
10

Mono'da bağımsız bir async web API (asp.net web API) tabanlı hizmeti barındıran herkesin başarısı (üretim kodu) var mıydı? Bağımsız olarak, API'yi asp.net'in dışındaki bir konsol uygulamasında barındırmayı kastediyorum.Standalone async web API on Mono

Bir REST API'si oluşturmanın basit bir yolunu arıyorum ve gerçekten en üstteki HTTP katmanından alt veri erişim katmanına yığın async (C# 5 stili) oluşturmayı gerçekten istiyorum, şimdi C# 5 Bunun için iyi bir desteği var.

Normalde ServiceStack ile gider ve bunu Linux'ta bir daemon olarak barındırırdım, ancak ServiceStack hizmetlerinde yeni C# 5 uyumsuzluklarını desteklemediğinden (bildiğim kadarıyla), kendimi Mono'da async web API'sı barındırıldı.

ServiceStack'te bazı async şubelerinin bulunduğunu biliyorum, ancak hazır değil ve ServiceStack'te bazı asynconeway nesneler olduğunu biliyorum, ancak bunun async tabanlı yeni görevi kullandığını sanmıyorum C# 5 şeyler.

Sorunun yanıtı, mono olarak kendiliğinden barındırılan bir async web API'sini kullanarak bir REST hizmeti yapmanın mümkün ve kararlı olup olmadığı mı, yoksa Mono'da bağımsız bir şekilde hosting yaparken senkronize ServiceStack'ı kullanmak daha mı iyi?

cevap

9

Daha iyi kullanın. Web API, Mono'da henüz desteklenmemektedir (henüz).

public Module() 
{ 
    Get["/greet/{name}"] = async x => { 
     await Task.Delay(5000); 
     return string.Concat("Hello ", x.name); 
    }; 
} 
+0

tamam teşekkürler. Görünüşe göre NancyFc async hala beta. Web Api monoda işe yaramaz mı? –

+0

Web API & MVC 4'ün mono 3.0'daki desteği, anlatabildiğim kadar eksiksiz değil. Ara sıra istisnalar alabilirsiniz. NancyFx async hala beta, bu yüzden Mono için şu anda hiçbir çözüm mükemmel değil. –

+2

Nancy Async desteği teknik olarak beta, ancak oldukça az yer kaplıyor ve şu ana kadar yaptığımız tek hata toplu istisnaların çıkarılmasıyla ilgili, bu yüzden sağlam bir şey :) –