Primeros pasos con la pila de servicios
En esta página
Instalación o configuración
Puede instalar ServiceStack de 3 maneras:
- Plantillas completas de Visual Studio (autohospedadas)
- Comience desde cero, ejecute ServiceStack Self alojado (aplicación de consola)
- Ejecute ServiceStack dentro de Asp.net MVC.
Plantillas completas de estudio visual
Puedes encontrar información sobre estos aquí: https://github.com/ServiceStack/ServiceStackVS.
- Descargue el complemento Visual Studio de la pila de servicios: https://visualstudiogallery.msdn.microsoft.com/5bd40817-0986-444d-a77d-482e43a48da7
- Inicie un nuevo proyecto en Visual Studio y elija una de las plantillas.
Comenzar desde cero (Selfhosted)
Para obtener una guía completa, vaya aquí: https://github.com/ServiceStack/ServiceStack/wiki/Self-hosting
Para configurar:
-
Hacer una aplicación de Consola
-
instale ServiceStack a través de nuget:
Install-Package ServiceStack
-
Configure su código base. ServiceStack usa un ‘AppHost’ para juntar todo:
//This your main entry point of the application public class AppHost : AppSelfHostBase { public AppHost() : base(“HttpListener Self-Host”, typeof(HelloService).Assembly) {}
public override void Configure(Funq.Container container) { }
}
//Run it! static void Main(string[] args) { var listeningOn = args.Length == 0 ? “http://*:1337/” : args[0]; var appHost = new AppHost() .Init() .Start(listeningOn);
Console.WriteLine("AppHost Created at {0}, listening on {1}", DateTime.Now, listeningOn); Console.ReadKey();
}
Ahora puede comenzar a desarrollar sus servicios api.
Integración de MVC
Para una guía completa de integración de Mvc: https://github.com/ServiceStack/ServiceStack/wiki/Mvc-integration
Primero descargue sus paquetes nuget: Install-Package ServiceStack.Mvc
Configure su servidor de aplicaciones ServiceStack
public class AppHost : AppHostBase
{
public AppHost() : base("MVC 4", typeof(MyServices).Assembly) {}
public override void Configure(Container container)
{
SetConfig(new HostConfig {
HandlerFactoryPath = "api"
});
ControllerBuilder.Current.SetControllerFactory(
new FunqControllerFactory(container));
}
}
//Bootstrap your appHost through MVC Global.asax:
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
new AppHost().Init();
}
}
Ahora, para ejecutar los servicios de ServiceStack, podemos agregar web.Config para que ServicStack se ejecute en una determinada ruta, por ejemplo: /api/*
<location path="api">
<system.web>
<httpHandlers>
<add path="*" type="ServiceStack.HttpHandlerFactory, ServiceStack"
verb="*"/>
</httpHandlers>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add path="*" name="ServiceStack.Factory"
type="ServiceStack.HttpHandlerFactory, ServiceStack" verb="*"
preCondition="integratedMode"
resourceType="Unspecified" allowPathInfo="true" />
</handlers>
</system.webServer>
</location>