数日前に Web Worker に対して reimage が掛かっていたので気になって調べたところ、.NET Framework 4.6.1 がインストールされていました。
調べ方はいつものように reg query を使うだけです。
日本語版のドキュメントには .NET 4.6.1 の値が書いていませんでしたが、英語版はしっかりと更新されていました。Release の値が 394271 (0x6041F) なら 4.6.1 となります。
Determine which .NET Framework versions are installed - .NET Framework | Microsoft Learn
今回アップデートされたことで、SQL Server 周りで便利な機能が使えるようになります。
.NET Framework 4.6.1 is now available! - .NET Blog
特に SQL Database でのリトライ処理が SqlClient に組み込まれたので、カスタムな処理を作る必要が無くなりました。詳しくはムッシュ先生のブログを参照してください。
.NET 4.6 にアップデートされた時は無効化されていましたが、.NET 4.6.1 では RyuJIT が有効にされたみたいですね。RyuJIT が無効化されていることは、Azure 界の抱かれたい男 No.1 が書いてました。
Azure App Service に.NET Framework 4.6がロールアウトされました | ブチザッキ
RyuJIT が有効になっているかどうかは、同じくレジストリを調べると簡単にわかります。
useLegacyJit が設定されていなければ有効になっているはずです。Web Apps の場合は UseRyuJIT というキーが追加されていたので、間違いなく有効になっていると思います。
RyuJIT は x64 向けに開発されたものなので、当然ながら使うには Web Apps も x64 で動作させる必要があります。ポータルから Platform を 64bit に設定しておきます。
本当に有効になっているのかを、System.Numerics.Vectors を使って簡単に確認しておきました。
この比較では 64bit で動作させた方が高速に計算出来ています。Web Apps の B1 以上を使う場合には Platform を基本的に 64bit に設定しておいた方が、今後は幸せになれそうです。