Looking for servicestack Answers? Try Ask4KnowledgeBase
Looking for servicestack Keywords? Try Ask4Keywords

servicestackサービスマンを始めよう


備考

このセクションでは、サービススタッキーズの概要と、それを使用する理由について概要を説明します。

それはまた、サービスの中にある大きなテーマについても言及し、関連するトピックにリンクするべきです。ドキュメンテーションは新しいサービスであるため、これらの関連トピックの初期バージョンを作成する必要があります。

インストールまたはセットアップ

ServiceStackは3つの方法でインストールできます。

  • 完全なVisualスタジオテンプレート(セルフホスト)
  • 最初から起動ServiceStackセルフホスト(コンソールアプリケーション)
  • Asp.net MVC内でServiceStackを実行します。

完全なビジュアルスタジオテンプレート

これらの情報はhttps://github.com/ServiceStack/ServiceStackVSでご覧いただけます

  1. servicestack Visual Studioプラグインをダウンロードします。https : //visualstudiogallery.msdn.microsoft.com/5bd40817-0986-444d-a77d-482e43a48da7
  2. ビジュアルスタジオで新しいプロジェクトを開始し、テンプレートの1つを選択します。

最初から始める(セルフホスト)

完全なガイドについては、こちらをご覧くださいhttps : //github.com/ServiceStack/ServiceStack/wiki/Self-hosting

設定する:

  1. コンソールアプリケーションを作成する
  2. nugetでServiceStackをインストールする: Install-Package ServiceStack
  3. ベースコードを設定します。 ServiceStackはAppHost を使用してすべてを一緒にします:
 //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();
}
 

これで、apiサービスの開発を開始できます。

Mvcの統合

完全なMvc統合ガイド: https : //github.com/ServiceStack/ServiceStack/wiki/Mvc-integration

まずあなたのパッケージをダウンロードしてください: Install-Package ServiceStack.Mvc

ServiceStack Apphostのセットアップ

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();
    }
}
 

ServiceStackサービスを実行するために、web.Configを追加してServicStackを特定のパスで実行させることができます。例: /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>