shuhelohelo’s blog

Xamarin.Forms多めです.

ASPNETCore

【Razor Pages】複雑なオブジェクトのGetリクエストのバインドはどうなる?

以下のようなオブジェクトがあったとして、 public class MyClass { public string Message { get; set; } } このようにBindPropertyを使ってGetリクエストでクライアントからデータを受け取る場合、 [BindProperty(SupportsGet = true)] public MyClass MyC…

【Razor Pages】SupportsGetについて

クライアント側からサーバー側にデータを渡したい場合、publicプロパティに[BindProperty]属性をつけることで、クライアントから送られてきたデータを自動的にそのプロパティで受け取ることができる。 これによって、Httpリクエストのリクエストボディからデ…

Xamarin.FormsでASP.NET CoreなDI(Dependency Injection) (6) Logger

前回はHttpClientを使う方法について書きました. 今回はLoggerの使い方です. 以前に書いたとおり,Microsoft.Extensions.HostingパッケージにはLoggerも含まれているので,Loggerを介したロギングの機能も使うことができます. shuhelohelo.hatenablog.com 今回…

Microsoft.Extensions.Hostingを使ってASP.NET Coreライクなしくみを使う

こちらの動画の23分ごろから. www.youtube.com Microsoft.Extensions.Hostingには以下のパッケージが含まれている. なので,これを1つインストールするとASP.NET CoreライクなDIやロギングを行うことができる. これを使ったDIについてはこちらの一連の記事を…

コンソールアプリでASP.NET CoreのDIの仕組み(ServiceProvider)を使う(2)

当然HttpClientもDIすることができる. 前回のMicrosoft.Extensions.DependencyInjectionに加えてMicrosoft.Extensions.Httpをインストールする. using ConsoleAspNetCoreDI.Services; using Microsoft.Extensions.DependencyInjection; using Microsoft.Exte…

コンソールアプリでASP.NET CoreのDIの仕組み(ServiceProvider)を使う(1)

2020/07/11追記 かずきさんのこちらの記事がとてもわかりやすい. qiita.com AddScopedとAddTransientの違い AddSingletonはSingleton. AddTransientはGetServiceするたびにインスタンスが作られる. じゃあAddScopedはというと,スコープが異なると別のインス…

HttpClientを使って受け取ったJSON形式のレスポンスをデシリアライズする方法

方法としてはSystem.Text.Jsonを使ってJSON文字列をデシリアライズするか,System.Net.Http.Jsonを使ってレスポンスから直接オブジェクトを取得するか,がある. System.Text.Jsonを利用するためにはNugetからインストールします. System.Net.Http.Jsonを利用す…

Xamarin.FormsでASP.NET Coreなappsettings.jsonから値を取得する

Xamarin.FormsでASP.NET CoreのDIの仕組みを使うことについては以下の記事に書きました. shuhelohelo.hatenablog.com これをベースとします. 今回は基本的なことに戻って,appsettings.jsonファイルに記述した値を取得する方法についてです. 以下のような内容…

Asp.net core 3.1でデバッグ中のViewの変更を反映させる

環境 Windows 10 1809 .NET Core 3.1 ASP.NET Core 3.1でフロントはRazorページを使用 デバッグ中の変更を反映させるには Asp.net core 2.1のときはデバッグ中にViewに変更を加えて保存し、ブラウザ側でリロードしたら変更が反映されていました。 Asp.net co…

SignalR Core復習

忘れてしまうのでもう一度基本的な使い方をメモ 参考 docs.microsoft.com 環境 Windows 10 1809 .NET Core 3.1 ASP.NET Core 3.1 Serviceの追加 Startup.csを開いてConfigureServiceメソッドに以下のようにSignalRを登録します。 public void ConfigureServi…

これは下書きにもタグを登録するためのページです。

httpclientを使うときのベストプラクティス

docs.microsoft.com あと、あのドイツの大学の講義のポケモンapiでも使ってたので参考にする www.youtube.com 上の講義の個人的なメモ. shuhelohelo.hatenablog.com 大事なこと. - HttpClientを使うたびにnewでインスタンスを作成するな! - ASP.NET Coreでは…

Mobile Computing C# オンラインクラス 5 メモ

www.youtube.com デバッグとWebAPIの利用について デバッグTips 条件付きデバッグ 実行時の変数の値の編集 On the flyな変更ができる. ブレークポイントで止まった状態で,変数にマウスオーバーして,表示された変数の値をクリックすると編集できる. いちいち…

ASP.NET CoreでEntityFramework Coreを使うステップメモ

www.youtube.com 45分ぐらいから. ASP.NET CoreでEntityFramework Coreを使うときのステップをメモしておく. Modelとなるクラスを作る DbContextを継承したクラスを作る 設定ファイル(appsettings.jsonやUserSecretなど)に接続文字列を記述する. Startup.cs…

Azure DevOps ProjectsではじめてのCI/CDを整える

ナウなエンジニアにバカウケというCI/CDなるものをせんとす. Azure DevOps Projectsを利用してCI,CDを構築できるという. docs.microsoft.com 何もわかっていないので,公式ドキュメントのとおりにやってみることにする. Azure Portalにサインインする ここね!…

ASP.NET CoreでOAuthを試す(3)

前回は外部認証のページを表示,利用するところまでやりました. shuhelohelo.hatenablog.com しかし認証の結果を用いて自分のアプリケーション側でどうするかという処理(コールバック)の部分を書いていないので,認証後にエラー画面が表示されていました. 今回…

ASP.NET Coreのデバッグでブラウザの選択肢がない?

リリース版のVisual Studio2019をインストールして既存のASP.NET Coreプロジェクトを開いてデバッグしたら以下のエラーが表示された. The project doesn't know how to run the profile IIS Express. みてみたらブラウザの選択とかそういうのがない. いつも…

機密情報をUserSecretに移して安全に:実践編

shuhelohelo.hatenablog.com 接続文字列やAPIキーなどの機密情報はソースコードの中に含まないし,Gitなどの管理下に含まれないようにする方法として,ローカルにおいてはUserSecretを使うとよい,という内容を書いた↑. ちょうど,以下の記事でGoogleを使った外…

webapiでentityframeworkの結果を返すときに循環エラーとなるのを防ぐ方法

https://youtu.be/eNScZiYuVCU 43分辺り。 相互に参照する以下のような2つのモデルがある. public class Author { public int ID { get; set; } [Required] public string FirstName { get; set; } [Required] public string LastName { get; set; } public …

コマンドラインでdotnet efコマンドをアップデートする.

The EF Core tools version '3.0.0' is older than that of the runtime '3.1.0'. Update the tools for the latest features and bug fixes. と言われたので最新版にする. アップデートするコマンドを調べる(dotnet tool --help). >dotnet tool --help Usag…

ASP.NET CoreでOAuthを試す(2)

前回はGoogleAPI側の設定を行いました. shuhelohelo.hatenablog.com 今回はアプリケーション側でGoogleのOAuthを利用する手順を説明します. ExternalLoginCallback action in asp net core - YouTube EFCoreでDBへ接続(作成) プロジェクトもDBも新規に作成す…

ASP.NET CoreでOAuthを試す(1)

ログインする際に,GoogleやFacebookなどの外部サービスの認証を使用することは割とよくあります. 例えば以下のような画面をよく見ると思います. これを自作のWebアプリケーションに組み込む手順です. 今回はGoogle側のAPI設定の説明です. 環境 Visual Studio…

接続文字列をAzure App Service側に持たせる

ASP.NET Coreに限らずウェブアプリケーションを開発する際に、DBの接続文字列をソースコード(appsettings.jsonやweb.config)に記載して、それを利用することが多いと思います。 しかし、ローカルで開発している間はそれで良いですが、本番環境での運用が始ま…

ASP.NET Coreの認証フレームワークIdentityを使う

youtu.be 環境 Visual Strudio 16.4 preview5 ASP.NET Core 3.1 preview EntityFrameworkCoreのインストール NugetからMicrosoft.EntityFrameworkCoreをインストールする. 使用するDBに応じてパッケージをインストールする 今回はSQLServerを使うので,Micros…

Application Insightsを使ったアプリケーション監視

WebアプリやWeb API, サーバーレスアーキテクチャなどの利用状況,状態を知るのは重要. どれだけリクエストが来ていて,サーバーのCPU使用率がいくつで,どれだけ失敗しているかなど,データをとって分析して改善,改良する. そのためのサービスがAzureに用意され…

ASP.NET Coreのバインディングソース属性について

https://docs.microsoft.com/ja-jp/aspnet/core/web-api/?view=aspnetcore-3.0 アクションメソッドのパラメーターにFromBodyやFromQueryなどつけることがある。 これはバインディングソース属性という。 アクションメソッドのパラメーターは推論規則によって…

EF CoreでモデルファーストでDBを扱う手順

www.entityframeworktutorial.net Entity Framework Core : DbContext DbContextはDBとのやりとりを担う. DBのエンティティのインスタンスを取得,保存するためのもの. DbContextはUnit Of WorkとRepository Patternの考えを組み合わせたもの. EF CoreのDbCon…

ASP.NET CoreにおけるUserSecretを使用した設定情報の保存

docs.microsoft.com 以下の動画42分ぐらい。 https://youtu.be/pLiS7932LLo 環境変数 すべての構成ソースの構成値を上書きします. 例えば,規定のデータベース接続文字列はappsettings.jsonファイルにDefaultConnectionというキーで記述されている. 規定の接…

ASP.NET CoreのIdentityのパスワード設定規則をカスタマイズする

Identityのパスワード設定規則はデフォルトでは以下のようになっている。 長さ6文字以上 少なくとも1文字はユニーク(パスワードの中に1つしか含まれていない)な文字(つまり、全部同じ文字はだめ) 英数字以外の文字を少なくとも1文字 小文字が少なくとも1…

ASP.NET Core以外でUserSecretsを利用する

tech-blog.cloud-config.jp ↑こちらの記事がとてもわかり易いです. ソース管理サービスを利用した場合に,ワールドワイドに公開してしまう可能性があり,クラウドサービスの接続情報などをそのまま書いていると危険. なので,このような機密情報はソース管理,つ…