ASP.NET Core
今年の 11 月にリリース予定の .NET 8 と同時に .NET 向け Azure Functions は、これまでの In-Process モデルから Isolated Worker Process というモデルに統一されるのですが、正直なところ完成度が低いのと In-Process からの移行を全く考慮していない SD…
少し前から Application Insights の Performance を開くと、上部に Code Optimizations というボタンが表示されるようになっています。隣にある Profiler は以前からある機能ですが、Code Optimizations はひっそりと追加された新しい機能となります。あま…
少し前に Cosmos DB を ASP.NET Core の Distributed Cache Provider として使うライブラリの正式バージョンがリリースされました。ASP.NET 向けにも同じようなライブラリは出ていましたが、こちらは Cosmos DB SDK v3 で構築された最新版です。重要なことは…
ASP.NET Core では一般的にクッキー認証をベースとして使いつつ、その上に Twitter や Facebook などの外部プロバイダーを組み合わせて認証を実装しています。API 向けのように JWT を直接扱う場合以外は、基本はクッキーが有効になっているはずです。デフォ…
Azure Storage を使った Run From Package で公開している Azure Functions 向けパッケージの転送量が、最近になって急激に増えたのでパッケージのサイズを削減して、Azure Functions で実行するための最適化を行ったのでメモとして残します。何故マネージコ…
金曜の夜に .NET 5 のリリース記念と称して、.NET 好きメンバーを集めてアップデートや新機能について話をしました。考えていたタイムスケジュールが完全に崩壊してしまいましたが、2 時間で何とか収まりました。スピーカーは綺麗に興味が異なっていたので、…
.NET Conf 2020 で .NET 5 が正式リリースされましたが、同じタイミングで App Service での .NET 5 Early Access 機能が発表され、多少の制約はありますがリリースとほぼ同時に利用可能になりました。App Service Teams のブログと GitHub にドキュメントが…
最近は Azure DevOps で開発していたアプリケーションを GitHub に移行しつつ、ビルドとデプロイ周りを Azure Pipelines から GitHub Actions に切り替えていたのですが、アプリケーションのビルドに時間がかかっていたので短縮するために色々と作業をしまし…
.NET Conf 2020 の日程も発表されて、既に Daily Build では RC や 6.0 が出ている .NET Core 周りですが、そろそろ 5.0 へのアップグレードに向けた作業を行っておくかーという気分になっています。ちなみに .NET Conf 2020 は 11 月 10-12 日での開催です…
みつばたんが最近 ASP.NET Core MVC 周りで死ぬほどはまっていたみたいですが、ポートフォリオサイトを作っていたようです。自分は死ぬほどはまっていた時には全くアドバイスしなかったのに、大体動くようになってからアドバイスをするという徳の低いことを…
昔は ASP.NET で Swagger / OpenAPI 定義を出力するには Swashbuckle が定番でしたが、あまりアクティブではない時期が長かったせいか最近は NSwag を使うようにしています。今では GitHub の Star 数も Swashbuckle より NSwag の方が多くなっています。Doc…
Azure App Service に ASP.NET Core アプリケーションをデプロイする時には、必ず Application Insights を同時に有効化するようにしていますが、有効化の方法として 2 種類が存在しているので軽くまとめておきます。自分でもこのあたりは割と混乱していたの…
ASP.NET Core で認証を使っていて、標準のクレーム以外を User.Identity に持たせたくなったので実現する方法を調べました。ASP.NET 時代では Global.asax でイベントハンドラーを追加して Context.User を入れ替えて実現してましたが、ASP.NET Core にはそ…
ASP.NET Core 2.x から 3.0 への移行をプライベートと仕事のアプリケーション両方で試しました。基本的にはドキュメントの通り行えば良いので簡単ですが、少し別途対応が必要だった部分があるのでメモとして残しておきます。あと Endpoint Routing 周りにつ…
.NET Conf 2019 で予定通り .NET Core 3.0 が GA しました。同時に ASP.NET Core 3.0 と Entity Framework Core 3.0 もこれまで通りリリースされています。2.0 の時と同じように 3.0 は LTS ではないので注意が必要です。11 月にリリースが予定されている 3.…
アプリケーションが 1 つとかの場合は App Service の App Settings や Connection Strings を使って設定すれば良いのですが、数が多くなったり環境が増えてくると大体管理しきれなくなって破綻する傾向にあります。Infrastructure as a Code の考えで ARM T…
.NET Core 3.0 の新機能として紹介されている Tiered Compilation と ReadyToRun について気になっていたので、夜なべして調べました。2.2 の例があったので RTM 前に書くのは心配ですが、流石に大丈夫かなと思ったので。*1 Tiered Compilation ufcpp にぃに…
Twitter で ASP.NET Core / Azure Functions のローカライズに関する話になった時に、そういえば試してなかったなと思ったので一通り触って理解を深めておきました。考えられる部分、全て触ってみたので非常に長くなりました。概要を先にまとめます。 規約ベ…
.NET Core / ASP.NET Core で追加された Dependency Injection は Task ベースの Factory は用意されておらず、ドキュメントではサービスの解決は同期的に行うよう推奨されています。とはいえ、Task ベースでの初期化が必要な場面がちょいちょいあるので、何…
.NET Core から AssemblyInfo.cs に書いていたバージョンなどを、MSBuild を使ってビルド時に自動生成されるようになったので、簡単にアセンブリのバージョンを CI で埋め込めるようになりました。NuGet 向けでは普通にビルド時にバージョンを付けてきました…
ASP.NET Core のプロジェクトを dotnet publish を使って発行すると自動的に web.config が作られるようになっています。基本的に IIS や App Service でホストする場合には必須です。自動生成されるので IIS 周りのカスタマイズが難しそうに見えますが、比…
タイトルの通りですが .NET Core に対応したということだったので、実際に契約して試してみました。新しくプロジェクトを作成する画面に .NET Core が出てくるので、それを選んで情報を入力して行けばサクサク作れます。関係ないですが、標準で Let's Encryp…
恐らく Build 2019 に合わせたと思ってますが、Azure App Configuration がアップデートされて Feature Management という新しい機能が追加されています。公式にも A/B テストとか、新しい機能の段階的なリリースにも使えると紹介されています。App Service …
ASP.NET Core 2.2 から使えるようになった ANCM V2 の In-Process Hosting はパフォーマンス面で有利なので使っていきたいし、そもそもデフォルトは InProcess になっているので勝手に使っていると思うのですが、タイトルの通りの制約があるので注意です。In…
Azure SignalR Service を仕事で少し使ったときに、設定が増えていることに気が付いたので調べたのですが、中の人に聞くまで情報がほぼ無かったのでメモとして残します。そして Serverless mode がかなり良かったので、それの紹介も簡単にですがします。チャ…
ASP.NET Core は 2.1 からプロジェクトの作成時に HTTPS 用の構成を有効化すると、デフォルトで本番環境の場合には HSTS が有効になっています。同時に HTTPS へのリダイレクトも有効になります。デフォルトの HSTS は有効期間が 30 日と短めになっています…
昔のように高い信頼性を持つオンプレのハードウェア上で動いていたアプリケーションとは異なり、昨今のクラウド上で動いているアプリケーションは障害が発生する前提でコードを書く必要があります。クラウドのハードウェアは毎日どこかで壊れるので、それを…
いろんな場所でちょいちょい話してた Endpoint Routing について調べたので書きます。パフォーマンス改善が目立った ASP.NET Core 2.2 の更新内容としては、唯一 Endpoint Routing は特定のパターンでは Breaking change となります。そもそも Endpoint Rout…
ASP.NET Core 2.2 と同時にリリースされた ANCM v2 が +400% パフォーマンス改善したと書かれていたので、実際どのくらいまで頑張れるのか調べたくなりました。ブログにあった +400% という数値は恐らく物理マシンを使っているので、実際に Azure 上の一般的…
.NET Core 2.2 リリース時には 12 月末までの対応が宣言されていた Azure App Service での .NET Core 2.2 対応ですが、全リージョンへのデプロイが完了したようです。デプロイのタイミングによっては .NET Core 2.2 はインストールされていても、ASP.NET Co…