2012-10-10 18 views
16

Jak mogę połączyć się z własną usługą?ServiceStack Jak połączyć się z moją usługą z kodem

Mam usługę, która wykorzystuje inne usługi do komponowania informacji.

Chcę połączyć się z innymi usługami w ramach kodu tej usługi.

Jak mogę to zrobić?

+0

Pożyczono to pytanie z pokoju czatu, myślę, że warto go udokumentować dla innych. – Tom

Odpowiedz

17

Istnieje metoda baza nazywa base.ResolveService<TMyService>() który właśnie rozwiąże autowired usługę z MKOl i wstrzykuje bieżący kontekst żądania

Więc po prostu zadzwonić:

using (var service = base.ResolveService<MyService>()) { 
    service.Post(new MyRequest()); 
} 

Można również zadzwonić usługa z tylko Zażądaj DTO, który będzie również wykonywać globalne filtry usług:

base.ExecuteRequest(new MyRequest()); 

To tylko opakowanie dla ServiceController które można nazwać statycznie:

HostContext.ServiceController.Execute(new MyRequest(), base.Request) 
+0

Jak mogę to nazwać z mojego kontrolera ASP.NET MVC? Ponieważ mój kontroler nie dziedziczy po 'ServiceStack.ServiceInterface'. –

+1

@RosdiKasim, tutaj znajduje się link do odpowiedzi mythza o podobnym pytaniu http://stackoverflow.com/questions/10571450/should-servicestack-be-the-service-layer-in-an-mvc-application-or-should -t-call – Tom

+0

Cześć dzięki Tom! .. ten link jest naprawdę pomocny .. doceń pomoc. –

Powiązane problemy