🐥note.

小鳥とMicrosoft <3 なエンジニアの技術Blog📚

.NET

Blazorチョット(だけ快適に開発)デキルようになる(かもしれない)小技

本エントリはBlazor Advent Calender 2019の16日目の記事です Blazorの開発を行う上でチョット(だけ快適に開発)デキルようになる(かもしれない)小技を紹介します。

BlazorでPrismのEvent Aggregatorを使用しViewModel間通信を試した備忘録

本エントリはBlazor Advent Calender 2019の15日目の記事です

BlazorのComponent間のデータのやり取りや状態管理ライブラリのメモ

Observer, EventAggregator, Fluxパターンとかそこら辺のメモです。

2019年11月のMicrosoft DocsのUpdateについて

Redditに2019年11月のMicrosoft Docsの更新状況について投稿がありました。 対象期間は2019/11/01 ~ 2019/12/04の間です。 www.reddit.com なお、先月の更新状況は以下の通りです。 blog.piyosi.com 今月のテーマ 今月のテーマとしては以下の点が挙げられる…

.NET Core 3.1からRuntimeのインストールを勧めるメッセージが表示されるようになった

.NET Core 3.1からは.NET Core Runtimeが未インストールのPCでWPF/WinForm/Consoleアプリを起動すると「Runtimeをダウンロードしてね」って感じのメッセージが表示されるようになりました。 ※.NET Core 3.0では何も表示されなかった リリースノートには記載…

ASP.NET Core 3.1の変更点について

ついに.NET Core 3.1 LTSがリリースされましたね! あわせてASP.NET Core 3.1もリリースされました。 devblogs.microsoft.com Microsoft Docsの特設ページはこちらです。 docs.microsoft.com 変更点は以下の通りです。 Here’s what’s new in this release fo…

ASP.NET Core MVCにServer side Blazorのコンポーネントを共存させる話

本エントリはBlazor Advent Calender 2019の4日目の記事です はじめに .NET Core 3.0がリリースされてから3か月近く経過しました。 ※追記(12/04):本日.NET Core 3.1 LTSがリリースされました! 皆さんはお仕事でBlazor書いてますでしょうか?勿論私は書けて…

Client side Blazor on WPF WebViewを実験的に作って挫折した話

WPF(.NET Core)のWebView上に、publishしたClient side Blazorを表示するDesktop Appを実験的に作って挫折したのでその備忘録です。 ※挫折した、という点がポイントです。 Demo 最低限動くところまでは作ったので、その様子だけ載せておきます。 demo きっか…

.NET CoreのWPFでWindowを表示するClass Libraryを作成した

実行するとWPFのWindowを表示するClass Libraryを作成しました。 これはClient side Blazorをいい感じにWPFのWebViewで表示できないか試行錯誤してた最中の副産物です。結局ボツ案で使うことは無いとは思いますが、せっかく作ったのでここで供養させてもらい…

.NET Core 3.1 Preview3がリリースされました

.NET Core 3.1 Preview 3が公開されました。 devblogs.microsoft.com 記事内で12月上旬に.NET Core 3.1 LTSリリース予定って言ってますね! ※もともとは11月だったのにサラッと伸びてる Visual Studio 16.4 Preview 5およびVisual Studio for Mac 8.4 Previe…

Client side BlazorとAzure Blob Storageで作る簡単PWA

Client side BlazorをPWA対応させてみました。 PWAのServiceWorkerの機能にはHTTPSが必要なので手っ取り早くAzure Blob Storageを使用します。 ちなみに環境は以下の通り .NET Core 3.1 Preview2 Microsoft.AspNetCore.Blazor.Templates 0.7.0 Blazor Templa…

BlazorでChartを描画する

個人アプリで折れ線グラフやドーナッツチャートを描画したくなったので、Blazoriseを使用して描画してみました。 本エントリはその記録です。 Library探しの旅 JavaScriptならいっぱいLibraryがありますが、歴史の短いBlazorではそうはいきません。 いい感じ…

.NET CoreのDiagnostics CLI Toolを触ってみた

2019年10月のMicorosoft Docsの更新内容を見ていて.NET Core Diagnostics CLI Toolというものがあることに気が付きました。 それぞれdotnet-counters, dotnet-dump, dotnet-traceなるものっぽいです。 それぞれちょっとずつ試してみました。 dotnet-counters…

2019年10月の.NET/ASP.NET Documentation Updateについて

Redditに2019年10月の.NET / ASP.NET のドキュメンテーションの更新状況について投稿がありました。 www.reddit.com なお、先月の更新状況は以下の通りです。 blog.piyosi.com 2019年10月の変更状況 2019/10/01 ~ 2019/11/05の間に .NETには575件コミットさ…

ASP.NET Core Update in .NET Core 3.1 Preview2の新機能について

Microsoft Igniteで盛り上がるIT界の裏では.NET Core 3.1 Preview2がリリースされました。 devblogs.microsoft.com それに合わせてASP.NET CoreとEntityFramework CoreもPreviewが公開されています。 devblogs.microsoft.com 本エントリではASP.NET Coreに追…

自作RazorClassLibraryの静的ファイルのロードができずに困った話

BlazorのComponentを別プロジェクト(RazorClassLibrary)へ切り分けた際、 Blazorから別プロジェクトの静的リソースへアクセスすることが出来ずにハマったので、それの件について記録します。 SolutionとProjectの作成 以下のコマンドでBlazorAppと、Componen…

Azure DevOpsでClient Side BlazorをCI/CDしてみる

こちらの記事の続きです。 blog.piyosi.com 本エントリでは 「GitHubに作ったClient Side BlazorのPrivate Repositoryのmaster branchへのコミットをトリガーにして、Azure DevOpsでBuild, UnitTest, Publishした後、Azure Storageの静的サイトへ自動デプロ…

Client Side BlazorをAzureの静的サイトにデプロイする

Azure StorageにClient Side Blazorをデプロイします。 Client Side Blazorの作成 Blazorのプロジェクトを作成し、Publish(発行)しておきます。 dotnet new blazorwasm -o ClientSideBlazorSample cd ClientSideBlazorSample dotnet publish -c Release -o o…

.NET Core 3.0の新機能Roll Forwardオプションを試してみる

.NET Core 3.0 リリース記念 C# Tokyoで登壇された@nuits_jpさんの.NET Core 3.0のPublish Single File概要を見て、そういえば.NET Core 3.0の新機能でRuntimeのバージョンをコントロールする機能あったなぁ…と思い、ちょっと調べてみました。 Microsoft Doc…

BlazorでDrag and Dropを実装する

Blazorで簡単なDrag and Dropを実装してみます。 デモ こんな感じです。 デモ コード 作ったコードはこちらにUpしてあります。 github.com

BlazorでFormatting Bindingする

@bindした値を表示する際に format を整えるにはformatパラメータを追加すればよいそうです。 docs.microsoft.com <input @bind="DateRecorded" @bind:format="dd/MM/yyyy" /> @code { private DateTime DateRecorded = DateTime.Now; } Microsoft Docsによると、現在は通貨形式や数値形式など、その他の書式指定式は…

BlazorのDataBindingで発火イベントを変更する

@bindによる双方向 DataBinding は以下の通りです。 <input @bind="CurrentValue" /> @code { private string CurrentValue { get; set; } } Microsoft Docsによると、@bind するタイミング(イベント)は変更できるようです。 docs.microsoft.com @bind 構文を使用して onchange イベントを…

Blazor Event名の一覧

Blazorで使用できるEventを列挙しました。 いずれもon{Event名}で使えるはずです。 Focus events Event 名 Args onfocus FocusEventArgs onblur FocusEventArgs onfocusin FocusEventArgs onfocusout FocusEventArgs Mouse events Event 名 Args onmouseover…

Blazor - TodoAppにValidationとNotifyServiceを追加する

こちらの記事の続きです。 blog.piyosi.com Todoアプリに以下の機能の改造を加えます。 新しいTodoを追加したら画面に通知を表示する(NotifyServiceで別Componentの関数をKick) Todoの内容が空っぽの時は登録できないようValidationを追加する ※子コンポーネ…

Blazor - TodoAppで学ぶComponentへのParameter Binding

BlazorのComponentへのParameter Bindingについて学ぶため簡単なTodoアプリを作りました。 今後暫くはこのアプリに手を加える形でBlazorのお勉強をしたいと思います。 github.com Microsoft Docsで言うとこのあたり docs.microsoft.com Demo こんな感じです…

EntityFrameworkCore.SQLiteのInMemoryDatabase + Repository Patternを書いた備忘録

ローカル環境にDBが必要なアプリの場合、大抵はLiteDbを使ってきました。 今回は趣向を変えてEntityFrameworkCoreを使ってみようかなと思い、Repository Patternな感じで実装してみました。 AdapterはSQLiteを使います。 本エントリはその備忘録です。 作成…

Microsoft.EntityFrameworkCore.InMemoryでトランザクションが張れない

EntityFrameworkCoreでInMemoryする場合はMicrosoft.EntityFrameworkCore.InMemoryが鉄板のようです。 しかし上記Packageを使う場合、トランザクションが張れないようです。 試しに以下のコードを試してみました。 using (var trn = _context.Database.Begin…

MicroBatchFrameworkとSeleniumでCLIツールを作った話(その2)

前回の記事の続きで、Selenium に関する話です。 SeleniumでWebサービスを自動操作する部分を実装します。 Webサービスは以下の流れで操作します。 WebサービスのIndexページにアクセスする リンクをクリックし、画面遷移する アップロードするExcelファイル…

MicroBatchFrameworkとSeleniumでCLIツールを作った話(その1)

ASP.NET 2.0 時代(!)に作られた社内Webサービスを自動操作するCLIアプリをMicroBatchFramework + Seleniumで作ったのでその備忘録です。

ASP.NET CoreのCreateDefaultBuilderが何を設定してくれているか

ASP.NET CoreのデフォルトテンプレートではProgram.csに以下のコードが記述されています。 public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseSta…