nuits.jp blog

C#, Xamarin, WPFを中心に書いています。Microsoft MVP for Development Technologies。

【連載】ASP.NET Web API を使おう:はじめに&目次

ASP.NET Web APIは、ASP.NET上でRESTfulなサービスを提供するための仕組みです。

.NETの世界ではWCFを利用してRESTfulを実装することもできました。しかしWCFは元々SOAPベースのWebサービスが起点となっており、多数のプロトコルを提供可能なフレームワークとして構築された結果、非常に複雑な実装になっていました。

ASP.NET Web APIは、RESTfulなサービスに特化した形で再構築された(2018年2月時点で)最新のフレームワークです。

本エントリーは、連載「ASP.NET Web API を使おう」の目次です。Web APIを使う上でのTipsを不定期にまとめていきます。

以上です。

App.configの接続文字列情報から実装クラスを指定せずにをDbConnectionを生成する方法

データベースへのコネクションを生成する場合、次のような実装はソースに接続対象のDBへの依存を持ち込んでしまいます。

using(var connection = new SqlConnection(...))

App.configの接続情報を利用して、それを回避することができます。自分でもしょっちゅう忘れてしまうのでここにメモしておきます。

続きを読む

Dapperの拡張ライブラリ 比較検討

皆さん、Dapper使っていますか?

私は比較的最近まで、オレオレMicro ORMを使っていたので、あまり使っていませんでしたが、いろいろと反省してDapperに移行中です。

さてDapper非常に良いと思うのですが、単品だとさすがに実装効率があまりよろしくありません*1。そこで活躍するのがDapperの拡張ライブラリです。

しかし、多くの拡張ライブラリが存在しているため、何を使うか悩みます。というかまだ悩み中です。何かお勧めがあれば教えてもらいたいところです。

とはいえ、自分で調べないという訳にもいきませんので、Dapper拡張ライブラリをいくつか比較してみました。

*1:主キー指定で1レコード取得したり、1レコードのアップデートしたりを都度SQL書くのは非効率ですよね

続きを読む

Prism for WPF で非表示となったViewのインスタンスを破棄する設定

Prism for WPFではRegionという機能を利用することで、画面遷移実装する事ができます。具体的にはこちらをご覧ください。

さて、Regionを利用して画面遷移した場合、デフォルトの振る舞いではViewやViewModelのインスタンスは、一度生成されると以後はキャッシュされて再利用されます。この振舞は、画面のプロパティの初期化もれによる不具合を引き起こしがちです。*1

このため、個人的にはパフォーマンスを特別に気にする個所を除いて、インスタンスのキャッシュを無効化したいと思う事が良くあります。

本稿では非表示となったViewのインスタンスを破棄する方法を、二つのユースケースにたいして実現方法を紹介したいと思います。

*1:何らかの登録処理を連続して行うような業務アプリケーションを想像してください。メニュー画面から登録画面に遷移し、登録完了後メニュー画面に戻るとします。続けて登録画面に遷移すると、登録画面とそのViewModel(およびそれらが参照しているインスタンス)は再利用されるため、登録後から再度表示するまでの間に初期化処理していないと、以前の登録内容が表示されてしまうといった不具合を引き起こします。

続きを読む

App Center Analyticsを使い倒す - 静的コード生成を活用したXamarinにおけるAOP活用

本エントリーは、つぎの二つの機会に発表した内容をまとめ直したものです。

資料はこちらに公開しています。ただスライドは発表の補助資料な為、資料だけ見ても伝わり切りませんので、本エントリーもあわせてご覧ください。

https://www.slideshare.net/AtsushiNakamura4/app-center-analytics-97896393

続きを読む