noxi雑記

.NET、Angularまわりの小ネタブログ

C#

Azure Extensions Librariesを使ってAzure接続クライアントを管理する

はじめに ここ最近(最近。。?)、 .NET から StorageAccount などの Azure リソースへ接続するための NuGet ライブラリ群が Azure.* に変更されています。ライブラリの使い方自体は Microsoft のドキュメントを眺めれば良いのですが、各接続クライアントの…

.NET で MSAL トークンを X.509 証明書で取ってみる

この記事は .NET Core 3.1 のデーモンコンソールアプリで MSAL トークンをクライアント ID と X.509 証明書で取得してみた時の作業メモです。 やったこと: Azure Key Vault で証明書作成 Azure AD アプリ作成 .NET からトークン取得

System.Text.Jsonのコンバーターメモ

C#

データを POST するときは文字列、 GET するときはオブジェクトという C# 泣かせの構造な API に出会ってしまったため、 System.Text.Json の Converter を作った時のメモです。 公式のドキュメントはこちら。 docs.microsoft.com やりたいこと 冒頭に記述し…

.NET CoreのSingle Fileを試す

.NET Core 3.0 で標準機能として実装された単一ファイル実行モード。リリースからはや9ヶ月、既に .NET 5 の足音が聞こえ始めており今更感が拭えませんが、単一ファイルにするとどうなるのか、どう実行されるのか、色々試してみたメモです。 docs.microsoft.…

.NET Coreコンソールアプリにappsettings.jsonを追加する

C#

ASP.NET Core アプリでは標準で appsettings.json や appsettings.Production.json を読み込んで設定として使用する、またはソリューションエクスプローラー上で階層表示することができます。しかしコンソールアプリではこのような機能が存在しません。 設定…

.NET CoreとSqlBulkCopy

C#

前回の記事で扱ってみたのですが、 .NET には SqlBulkCopy という SQLServer に対して BulkInsert を実行するためのクラスがあります。注釈にはこう記述されています。 Microsoft SQL Server には、1台のサーバーでもサーバー間でも、あるテーブルから別のテ…

C#でデータベースに行を追加するパフォーマンスを測定してみた

最近コンソールアプリで C# から SQLServer にデータのバッチ投入・更新・削除を試しています。単純な SQL の実行はいつも Dapper を利用しているのですが思うような実行結果にならなかったため、何種類かの方法でデータの一括投入のパフォーマンス計測して…

ASP.NET CoreのWebAPIとAutoRestで良い感じの.NETクライアントライブラリーを生成する

AutoRest は OpenAPI( Swagger )で定義された RestAPI に接続するクライアントコードを生成するライブラリーです。 ASP.NET Core で実装した WebAPI に対して AutoRest で良い感じのクライアントライブラリーを生成する時のポイントメモです。 github.com

C# 8.0のNull許容参照型を有効にする

C#

先日 .NET Core 3.0 がリリースされ、同時に C# 8.0 もリリースされました。色々と先行き不安なところはありつつも、C# 8.0 最大の変更点は参照型が null なり得るかどうかをコード上で明示できる Null許容参照型 の機能でしょう。 Kotlin や TypeScript な…

ビルドや発行時に.NET Core、 .NET Standardのアセンブリのバージョンを指定する

C#

CI のパイプラインで dotnet コマンドを使用して .NET Core や .NET Standard のアセンブリを生成する時に、生成されるアセンブリのバージョンを差し込みたい場合があります。 csproj ファイルで指定する方法とコマンドの引数の2つの方法で指定することがで…

ApplicationInsightsに.NETアプリのログを出力する

C#

MicroBatchFramework でバッチアプリを開発しているときにそのままログを ApplicationInsights に送信してみたので、その防備録です。

MicroBatchFrameworkを試す 3 - バッチ終了のハンドル

C#

前回の記事では MicroBatchFramework で設定ファイルを読み込む方法を書いてみました。この記事は MicroBatchFramework を使用した際の、バッチアプリ終了をハンドルして何か処理を挟み込む方法です。

MicroBatchFrameworkを試す 2 - アプリケーション設定

C#

前回の記事では MicroBatchFramework を使用したバッチアプリの作成と実行、発行を試してみました。この記事は MicroBatchFramework を使用するバッチアプリで設定ファイルを読み込んでみます。

MicroBatchFrameworkを試す 1 - バッチの作成と実行、発行

C#

業務で .NET の簡単なバッチを作る機会があり、どう作ろうかな、、、と悩んでいたときにふと思い出したので使ってみました。 ASP.NET Core で開発している資産を流用したいので CommandLineUtils と Microsoft Extensions 系( DI や Configurations 、 Logg…

EntityFrameworkCoreのValueConverterを試す

ASP.NET Core の All やら App のパッケージを利用すると漏れなく付いてくるという噂の EntityFrameworkCore ですが、2.1からデータベースとやりとりする型とマッピングされるエンティティモデル上のプロパティの型とを変換する ValueConverter が追加されて…

ASP.NET CoreのWebAPI規約を使用する

ASP.NET Core では WebAPI を実装する際に、どの HTTP ステータスが返るのかを [ProducesResponseType] 属性を使用して設定することができます。しかしながらこの機能、一つ一つの アクションメソッドに対して設定しなければならないため大変面倒でした。 AS…

Xamarinで .NET Extensionsを使ってみる

最近全くと言って良いほどXamarinを触っていなかったnoxiです。 この記事は Xamarin Advent Calendar 2018 の16日目です。15日目は tan-y さんのXamarin.Forms for Windows Forms で特殊な PageRenderer の実装をしようとしてはまった話でした。明日は moonm…

ASP.NET Core で SPA の HTTP ヘッダーを変更する

ASP.NET Core には Angular や React といった SPA を組み込んだテンプレートがあります。これらのテンプレートを使用した際に、 SPA のファイルを返す時の HTTP ヘッダー付与方法について解説します。 TL;DR Startup の Configure で UseSpaStaticFiles や …

ASP.NET Coreで分散キャッシュを使用する

この記事は前回の記事の続きです。前回はASP.NET Coreのインメモリキャッシュを紹介しましたが、今回はASP.NET Core組み込みの分散キャッシュ( IDistributedCache )について紹介します。 noxi515.hateblo.jp

ASP.NET Coreでインメモリキャッシュを使用する

Webアプリを開発する際に、取得したデータを一時的にアプリ内にキャッシュしておきたいことは多々あります。ASP.NET Coreではそういったオブジェクトのキャッシュする手段が標準で2つ用意されています。1つは IMemoryCache で得られるアプリ内のメモリ空間を…

ASP.NET Core 2.1 MVCことはじめ(簡単なフォーム作成)

.NET Core 2.1がリリースされて早数ヶ月。MVCを利用して簡単にフォーム画面の開発をしてみます。

ASP.NET CoreのSPAでIRouteConstraintを使用して認証を実装する

ASP.NETのMVCルーティングはコントローラー名やアクションメソッド名に応じてURLルーティングがなされます。ASP.NET CoreのSPA Angularテンプレートは、ASP.NET Core 2.0時代はMVCルーティング上にAngularアプリが存在していましたが、ASP.NET Core 2.1から…

ASP.NET CoreアプリでSwaggerを導入する

ASP.NET Coreで作成したアプリのWebAPIをドキュメントにまとめるのは大変です。Swaggerを使用してWebAPIのドキュメントをまとめたり、開発をサクサク進めることができます。

Xamarin.Formsで各プロジェクト毎に環境に応じた設定ファイルを作成する

※Qiitaからの移植 はじめに Xamarin.Formsを開発しているとプロジェクト構成は、ViewやModelを記述するコアのプロジェクトと、iOS/Androidの各プラットフォームプロジェクトの大きく2つに分かれます。アプリの動作に必要な設定情報をどう持たせるかについて…

Nugetのグローバルキャッシュディレクトリを変更する

C#

※Qiitaからの移植 やりたいこと 具体的にいつから変わったのかは知らないのですが、Visual Studioで.NET Coreや.NET Standardのプロジェクトを作成するとcsprojファイルが大変シンプルにました。そしてNugetの依存パッケージが従来のソリューションディレク…