Если вы этого еще не сделали, пройдите презентацию Создание служб REST с помощью ServiceStack .
1) Если вы видели пример Hello World от ServiceStack, он показывает, что для создания веб-службы нужно всего лишь:
//1. A Request DTO
public class Hello : IReturn<HelloResponse> {
public string Name { get; set; }
}
//2. A Response DTO
public class HelloResponse {
public string Result { get; set; }
}
//3. The web service implementation that takes a Request DTO and returns a Response DTO
public class HelloService : Service
{
public object Any(Hello request)
{
return new HelloResponse { Result = "Hello, " + request.Name };
}
}
В приведенном выше примере показан весь код, необходимый для создания веб-службы Hello .
Вы должны иметь возможность повторно использовать существующий тип и логику из вашего метода WCF и просто скопировать его в метод Any () .
2) Одним из преимуществ ServiceStack является то, что вам не нужно добавлять ServiceReference, т. Е. Вы можете повторно использовать один и тот же универсальный Service Client и ваши DTO для всех ваших веб-сервисов. например:
//Using JSON:
IServiceClient client = new JsonServiceClient("http://localhost/path/to/servicestack");
//Using XML:
IServiceClient client = new XmlServiceClient("http://localhost/path/to/servicestack");
var response = client.Send(new Hello { Name = "Arun" });
Console.WriteLine("Received: " + response.Result);
На странице / metadata есть также ссылка на ваши веб-сервисы WSDL , где вы можете по желанию создавать сгенерированные сервисные клиенты. Однако это не рекомендуемый подход, поскольку он требует гораздо большего трения, чем просто использование существующих DTO.
3) ServiceStack Web Services уже являются приложением ASP.NET, т.е. ServiceStack - это просто набор IHttpHandler, которые вы можете настроить для запуска внутри обычного веб-приложения ASP.NET или MVC, добавив отображение Web.config в ваши веб-приложения Web.config.
По сути, вы можете рассматривать веб-службу ServiceStack как обычное веб-приложение ASP.NET. Фактически, Hello World Tutorial показывает, как это сделать, создав пустое приложение ASP.NET.
Вам также может быть интересно проверить Пример проектов * Starter Templates , который показывает минимальные настройки, необходимые для настройки ServiceStack для работы в различных вариантах хостинга, например ASP.NET / Windows Сервисное / консольное приложение и т. Д.