タグ

2017年7月30日のブックマーク (2件)

  • ASP.NET Core MVC の Areas と URL ルーティングの話 - しばやん雑記

    そろそろ ASP.NET Core MVC を格的に使っていこうかと思っているので、これまで ASP.NET MVC 5 でよく使っていた Area を実際に Core MVC で使ってみることにします。 とは言っても、公式のドキュメントに書いてあることで十分ですが、URL ルーティングとの組み合わせの時に少し疑問があったので、その解消も同時に行います。 今の Visual Studio の Tooling だと Area を追加する方法が用意されていないので、手動でディレクトリを作成していく必要があるみたいです。正直かなりめんどくさいです。 ディレクトリ構造は ASP.NET MVC 5 の時と同じです。ビューの解決ルールも同じようです。 ただしビューの解決に関しては、Core MVC ではシンプルな方法でカスタマイズ可能になっています。詳細は省きますが AddRazorOptions

    ASP.NET Core MVC の Areas と URL ルーティングの話 - しばやん雑記
  • C#でTypeをキーにしたDictionaryのパフォーマンス比較と最速コードの実装 - Grani Engineering Blog

    CTOの河合(@neuecc)です。今回はパフォーマンス比較もそうなのですが、どちらかというと、それを具体的な例にして、マイクロベンチマークの測り方の説明をしたいと思っています。その具体的な例、題材なのですが、特に動的コード生成においては、Typeをキーにして生成したデリゲートをキャッシュすることがよくあります。その場合に最速なのはジェネリッククラスを一つ作って、そこに貯めることで public static class Cache<T> { public static Func<T> cache; } 最速に取り出すことが出来ます。これはEqualityComparer<T>.Defaultなどでも使われている、覚えておきたいC#テクニックの一つです。とはいえ、常に必ずしもTを元にして取り出せるわけではなく、Typeをキーにした辞書を作って、そこから取り出すケースも多いでしょう。 具体的

    C#でTypeをキーにしたDictionaryのパフォーマンス比較と最速コードの実装 - Grani Engineering Blog