MASUDAQ BLOG

NO DEVELOPMENT NO LIFE.

Azure App Service on Linux はコンテナーで動いている

2023/08/25

以前に、Azure App Service on Linux で使用されている Linux ディストリビューションとういう記事を書きました。 が、これダメでしたね。時代が止まってましたね。App Service のインスタンス毎に VM がディプロイされるような先入観で考えてました。 Azure App Service on Linux のログを見ると分かるのですが、コンテナーで動いてました。 2023-08-25T14:18:17.018Z INFO- 7.0_20230726.2.tuxprod Pulling from appsvc/dotnetcore 2023-08-25T14:18:17.032Z INFO-Status: Image is up to dat...

System.Drawing.Common の代替として Microsoft.Maui.Graphics を Linux で利用する

2023/08/20
★★★

System.Drawing.Common が Windows 固有のライブラリに .NET 6 での breaking change(破壊的変更) で、System.Drawing.Common が、Windows 固有のライブラリと位置付けられました。Windows 以外の OS では、デフォルトの設定では、動作しなくなりました。ただし、ランタイム構成を変更すれば、動作するようです。 https://learn.microsoft.com/ja-jp/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only .NET 7 では、windows 以外のサポートが完全...

Azure App Service スタックトレース表示

2023/08/19
★★

Azure App Service にディプロイしたら動かない Azure App Service にディプロイしたら、動かないってことありますよね。ローカル環境では、動いてたのに。 このページは現在機能していません。現在、この要求を処理できません。HTTP ERROR 500。と、言われても。 開発者例外ページ 一方、ローカルの開発環境では、ブラウザにスタックトレース等のエラーの詳細が出力されます。原因の特定が簡単です。が、Azure App Service 上ではエラーの詳細が、確認できなくて、原因の特定に時間がかかってしまう。 このブラウザにエラーを出力するものですが、Developer exception page(開発者例外ページ) というものです。 この開発...

.NET コンソールアプリで、DI(Dependency Injection) する

2023/08/18

.NET コンソールアプリで、DI(Dependency Injection) をするには、Generic Host を使います。 public class Program {public static void Main(string[] args){ IHost host = Host.CreateDefaultBuilder(args).ConfigureServices(services =>{ // DI services.AddTransient<IDemo001, Demo001>(); services.AddScoped<IDemo002, Demo002>(); services.AddSingleton<IDemo003, Demo003>();s...

Azure App Service on Linux で使用されている Linux ディストリビューション

2023/08/18

Azure App Service on Linux で使用されている Linux ディストリビューションは何かが気になったので調べてみました。 Azure Portal 上の Azure App Service on Linux から、[開発ツール] - [高度なツール] を選択し、[移動] 選択します。 kudu service が起動します。上部のメニューから、[Bash] を選択します。 bash から、/etc/os-release ファイルを確認します。 $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 10 (buster)" NAME="Debian GNU/Linux" VERSION_ID="10"...

Azure App Service on Linux 選択のメリット

2023/08/17
★★

C# での Web アプリの開発においては、.NET Core で、クロス プラットフォーム対応になり、現在では、稼働 OS を意識することなく開発を行うことができるようになりました。 とは言ってもアプリ開発を Windows 上で行っているので、あえて本番稼働の OS を Linux を選択することはないかなと思っていましたが、最近では、Azure App Service を使用する場合、Linux を選択して使用するようになりました。 その最たる理由は価格です。以下に主要なプランの価格の比較を行っています。 No. OS 共有(D1) Basic(B1) Standard(S1) Premium(P1v2) Isolated(I1) 1 Windows ...

Azure Web Apps ASP.NET Core 2.1 対応

2018/08/19
★★

以下の記事にもありますが、2018 年 5 月 30 日に、.NET Core 2.1 と ASP.NET Core 2.1 がリリースされました。 ASP.NET Core 2.1 への移行 ASP.NET Core 2.1 コード ベースへの移行 パフォーマンスの大幅な改善により、今後、.NET Core ベースのアプリケーションが増えていくことが予測されます。 .NET Core 2.0 から、2.1 への移行でもパフォーマンスの改善が体感できます。 そこで、前出の記事のようにアプリケーションを .NET Core 2.0 から 2.1 への移行を行い、Azure Web Apps に発行を行ったところ、以下のようなエラーが発生してしまいました。 資産ファイル...

HP Spectre x360 Convertible 13 SSD 換装

2018/05/03
★★

事前の準備 あるイベントの最後の参加特典として配られた HP Spectre x360 Convertible 13 ですが、スペックもそこそこで、まだまだ現役として使えます。 ただ、ハードディスク容量に不満が。標準で、128GB なので、昨今の開発環境等をセットアップするとすぐにいっぱいに。 最近のノートは、すべてマザーボードに直付けで、パーツの交換はできないことが多いのですが、調べてみると、ハードディスクは交換できることがわかりました。 もちろん、公式には、換装はサポートしていないため、換装した場合、メーカー保証は得られなくなると思いますので、その点は、ご留意ください。 メモリーも標準で 8GB で、何とかしたかったのですが、こちらは、やはり、交換でき...

Azure Web アプリ で、Apache 仮想ホストのようなサブドメインの定義

2016/08/17
★★★

Apache では、以下のように、httpd.conf で、サブドメイン単位で、仮想ホストを定義でき、ドキュメント ルートも同単位で定義できる。 # vi /etc/httpd/conf/httpd.conf <virtualHost *:80>ServerName <サブドメイン 1>.<ドメイン名>DocumentRoot /var/www/html/<サブドメイン 1> </virtualHost> <virtualHost *:80>ServerName <サブドメイン 2>.<ドメイン名>DocumentRoot /var/www/html/<サブドメイン 2> </virtualHost> Azure の Web アプリで同様のことを実現する方法を記...

Windows 10 アップグレード後に、古いファイルを削除する

2016/08/16

Windows 10 未満の OS から、Windows 10 へアップグレードした後、以前の OS のファイルを削除する方法。 1 カ月後に自動的に削除されるとあるが、これを手動で削除する。 [設定] - [システム] - [ストレージ] から、対象ドライブを選択。 [一時ファイル] - [Windows の以前のバージョン] - [以前のバージョンの削除] - [削除] を選択する。 ただし、この方法では、以前の Windows のイメージが格納されている "Windows.old" が削除できなかった。 よって、従来からの方法での以前のバージョンの Windows の削除を行う。 Windows.old が含まれるドライブを選択し、右ク...

最新の記事


人気の記事

profile image

Masudaq


趣味は、プログラミング。Microsoft 技術を中心に、フルスタックエンジニアとして日々鍛錬しています。