Symfoware

Symfowareについての考察blog

FreeBSD + monoでC#のWebフレームワーク「Nancy」を動作させる

C#製のWebフレームワーク「Nancy」
http://nancyfx.org/

面白そうなので、FreeBSD 10.1 + monoな環境で触ってみます。


NuGet



ライブラリの取得にはNuGetを使用します。
こちらでNuGetが動く環境を作っておきました。
FreeBSD + monoでNuGetを使用し、ライブラリを取得する



Nancyの取得



%TARGET%/packagesにnuget.exeを配置しました。

Nancy本体と、サーバーを起動するためのNancy.Hosting.Selfをインストールします。


# cd %TARGET%/packages
# mono nuget.exe install Nancy
# mono nuget.exe install Nancy.Hosting.Self




Nancy.1.2.0とNancy.Hosting.Self.1.2.0というディレクトリが作成され、
その中に必要なdllがあります。

今後のコンパイルや実行の都合上、必要な2つのdllを
%TARGET%ディレクトリにコピーしておきます。

・Nancy.dll
・Nancy.Hosting.Self.dll




サンプルプログラム



こちらを参考にサンプルプログラムを作ってみました。

Introduction
Self Hosting Nancy


・HelloModule.cs


  1. using System;
  2. using Nancy;
  3. using Nancy.Hosting.Self;
  4. public class HelloModule : NancyModule
  5. {
  6.     public HelloModule()
  7.     {
  8.         Get["/"] = parameters => "Hello World";
  9.     }
  10.     
  11.     public static void Main() {
  12.         
  13.         using (var host = new NancyHost(new Uri("http://localhost:1234")))
  14.         {
  15.          host.Start();
  16.          Console.ReadLine();
  17.         }
  18.     }
  19.     
  20. }




mcsコマンドで、コピーしてきた2つのdllをリソースとして指定しつつコンパイル。


# mcs -r:Nancy.dll -r:Nancy.Hosting.Self.dll HelloModule.cs




HelloModule.exeが出力されます。
実行してみます。


# mono HelloModule.exe




ブラウザで、「http://[サーバーIP]:1234/」を表示。

624_01.png


うまく動いてくれました。



関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2015/07/13(月) 22:42:57|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<FreeBSD + mono + C#でJSONエンコード、デコード | ホーム | FreeBSD + monoでNuGetを使用し、ライブラリを取得する>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1751-74991476
この記事にトラックバックする(FC2ブログユーザー)