読者です 読者をやめる 読者になる 読者になる

Windows(SQL) AzureでSeasar.NETとDBFlute.NETを動かす

Windows AzureQuillDBFlute.NET(C#)を動かしてみました。CRUDをするだけの単純なモノです。

動かすための手順は以下の通りです。

  1. 開発環境をインストール
  2. ASP.NET MVCでWebロールを作る(ASP.NETでも良いです)
  3. ローカル環境(ASP.NET MVCSQL ServerSeasar.NET+DBFlute.NET)で開発
  4. SQL Azure ManagerでSQL Azureにテーブルとデータを準備
  5. ローカルで開発したアプリの接続先をSQL Azureに変更
  6. Windows Azureにデプロイ

DBFluteは、RDBMS向けのO/Rマッパーですが、SQL Serverで開発して、そのままSQL AzureクラウドSQL Server)で動かすことができます。QuillSeasar.NET)やAutoMapperといった一般的なOSSもそのまま動きました。
クラウド開発は、敷居の高いものととらえがちですが、Windows AzureSQL Azureを使う分には、これまでと大きな違いがなく開発できるので、なじみやすいと思います。


ついでですが、ASP.NET MVCSeasar.NET(Quill)の組み合わせ例です。ただし、毎回初期化されている気がするので改善の必要ありです。

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        //ContorllerをQuillを使って取得
        ControllerBuilder.Current.SetControllerFactory(new QuillControllerFactory());
    }
}
public class QuillControllerFactory : DefaultControllerFactory
{
    private QuillContainer _QuillContainer;

    protected override IController GetControllerInstance(Type controllerType)
    {
        if (controllerType == null)
        {
            return null;
        }

        _QuillContainer = new QuillContainer();
        QuillComponent component = _QuillContainer.GetComponent(controllerType);
        Object obj = component.GetComponentObject(controllerType);
        QuillInjector injector = QuillInjector.GetInstance();
        injector.Inject(obj);
        IController icontroller = obj as Controller;
        
        return icontroller;
    }

}