最新版 |
編集中の文章 |
42行目: |
42行目: |
| | | |
| == ステップ3: Webサービスを作ってみる == | | == ステップ3: Webサービスを作ってみる == |
− | もし「Global.asax.cs」ファイルが無ければ手動で追加する。Xamarin Studioの新しいファイルダイアログでは「ASP.NET Web Forms」の「コードビハインド付きGlobal.asax」である。
| |
− |
| |
− | まず、ServiceStackのサービスは3つの要素から構成されるという基本を覚えよう。
| |
− | * リクエストDTO
| |
− | * サービス実装
| |
− | * レスポンスDTO
| |
− |
| |
− | これはServiceStackの根底にある[[ドメイン駆動設計]](通称[[DDD]])という[[哲学]]である。
| |
− |
| |
− | === 1: Webサービスを定義する(いわゆるリクエストDTO) ===
| |
− | <source lang="csharp">
| |
− | using ServiceStack.ServiceHost;
| |
− | [Route("/hello")]
| |
− | [Route("/hello/{Name}")]
| |
− | public class Hello
| |
− | {
| |
− | public string Name { get; set; }
| |
− | }
| |
− | </source>
| |
− |
| |
− | === 2: Webサービスの戻り値を定義する(いわゆるレスポンスDTO) ===
| |
− | <source lang="csharp">
| |
− | public class HelloResponse
| |
− | {
| |
− | public string Result { get; set; }
| |
− | }
| |
− | </source>
| |
− |
| |
− | === 3: Webサービスを実装する ===
| |
− | <source lang="csharp">
| |
− | using ServiceStack.ServiceInterface;
| |
− | public class HelloService : Service
| |
− | {
| |
− | public object Any(Hello request)
| |
− | {
| |
− | return new HelloResponse { Result = "Hello, " + request.Name };
| |
− | }
| |
− | }
| |
− | </source>
| |
| | | |
| == ステップ4: Webサービスを登録してみる == | | == ステップ4: Webサービスを登録してみる == |
− | 最後にWebサービスを初期化し登録する。
| |
− | Global.asax.csファイルを以下のように編集する。
| |
− |
| |
− | <source lang="csharp">
| |
− | using System;
| |
− | using System.Collections;
| |
− | using System.ComponentModel;
| |
− | using System.Web;
| |
− | using System.Web.SessionState;
| |
− |
| |
− | using ServiceStack;
| |
− |
| |
− | public class Global : System.Web.HttpApplication
| |
− | {
| |
− | public class HelloAppHost : ServiceStack.AppHostBase
| |
− | {
| |
− | //Tell Service Stack the name of your application and where to find your web services
| |
− | public HelloAppHost() : base("Hello Web Services", typeof(HelloService).Assembly) { }
| |
− |
| |
− | public override void Configure(Funq.Container container)
| |
− | {
| |
− | //register any dependencies your services use, e.g:
| |
− | //container.Register<ICacheClient>(new MemoryCacheClient());
| |
− | }
| |
− | }
| |
− |
| |
− | protected void Application_Start(Object sender, EventArgs e)
| |
− | {
| |
− | new HelloAppHost().Init();
| |
− | }
| |
− | }
| |
− | </source>
| |
− |
| |
− | これで完成である。ServiceStackに関するすべての構成はAppHostで行われる。いわゆるアプリケーションのエントリポイントのようなものである。
| |
| | | |
| == 動かしてみる == | | == 動かしてみる == |
124行目: |
51行目: |
| == 外部リンク == | | == 外部リンク == |
| * https://github.com/ServiceStack/ServiceStack/wiki/Create-your-first-webservice | | * https://github.com/ServiceStack/ServiceStack/wiki/Create-your-first-webservice |
− |
| |
− | == 参考文献 ==
| |
− | {{reflist}}
| |
| | | |
| {{stub}} | | {{stub}} |