しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

ASP.NET Core

Nano Server で ASP.NET Core アプリケーションを実行する

これまでに ASP.NET Core は大体 App Service か Linux の Docker でしか動かしておらず、Nano Server を使ったことがなかったので試しておくことにしました。といっても、難しいことはなく Visual Studio で ASP.NET Core プロジェクトを作る時に Windows …

ASP.NET Core から SendGrid の Template Engine を使ってメールを送信する

最近は仕事で ASP.NET Core MVC を使ったアプリケーションを書いてきて、メール送信が必要になったので SendGrid を例によって使うわけですが、今回は Template Engine を使って送信することにしました。使うために調べは済んでましたが、これまでに仕事で使…

Azure AD B2C を ASP.NET Core で使うと頻繁にログアウトするのを直す

Azure AD B2C を使ってログイン処理を実装した ASP.NET Core なアプリケーションが、何故か頻繁にログアウトしてしまうので調べてました。これもまた地味にはまったポイントです。とりあえず OpenIdConnect な Middleware のコードを読んで調べました。AAD B…

ASP.NET Core で静的コンテンツのキャッシュを適切に行う

ASP.NET Core で静的コンテンツを配信する時に、デフォルトだと挙動が厄介なので設定を変更した方が効率的という話です。地味にはまったのでメモとして残します。 TL;DR Static Files Middleware で Cache-Control を付ける 更新されるファイルには asp-appe…

ASP.NET Core MVC を使ってドロップダウンリストをいい感じに実装する

大昔に書いた ASP.NET MVC 3 向けの内容を Core MVC 向けにします。と言ってもほぼ別物になってますが、基本的な考え方は SelectListItem 側に寄せる、なのでいい感じに扱えるようにしてみます。Core MVC では Razor が超進化しているので、DI や Tag Helper…

Visual Studio Team Services と Web App for Container を使用した ASP.NET Core アプリケーションの CI/CD

最近は仕事で Visual Studio Team Services と Web App for Container を使っていましたが、地味にデプロイ周りで苦労をしたので軽くまとめておきます。デプロイだけでは面白くないので、ASP.NET Core アプリケーションのビルドから行ってみます。Web App fo…

OpenID Connect に対応した LINE Login を ASP.NET Core 2.0 からお手軽に使ってみる

LINE のイベントで LINE Login が OpenID Connect に対応したという発表があったようです。昔に比べると、簡単に LINE Login の設定が出来るようになっているので、今後は色々な部分での採用が広がりそうな気もします。OpenID Connect 対応は特に重要なアッ…

ASP.NET Core MVC を使ってアプリケーションを書いた際に悩んだポイント

サンプルとか超小規模以外の ASP.NET Core MVC アプリケーションを書いてますが、いろいろと悩んだりはまったりしたポイントがあったのでまとめました。まだまだありそうなので、ちょっとずつまとめようかと思います。 addTagHelper にはアセンブリ名を指定…

Visual Studio 2017 Update 3 (15.3) と ASP.NET Core 2.0 などがやっとリリース

いつまで時間がかかるのかと思うぐらい Visual Studio 2017 Update 3 のリリースに時間がかかっていましたが、ようやく正式版がリリースされたようです。更新内容はこれまでで一番多い気がします。そしてアップデートは必須ですね。注意点としてはアップデー…

ASP.NET Core MVC の Tag Helpers でフォームを作成する時の個人的なまとめ

何だかんだで一番苦労するのがフォームを作成する時なので、後から見て思い出せるように Tag Helpers を使って書く時の基本的なメモをまとめておきます。ASP.NET Core MVC 2.0 以降は Razor がアップデートされて変わりそうですが、とりあえず 1.1 対象で。 …

ASP.NET Core MVC の Razor で使える Tag Helpers のメモ書き

ちょっと真面目に ASP.NET Core MVC の Razor を書いている時に、そういえば Tag Helpers の書き方をあまり勉強していなかったと気が付いたので、これを気に個人的によく使いそうな部分だけメモります。例によってドキュメントがちゃんと用意されているので…

ASP.NET Core MVC の Areas と URL ルーティングの話

そろそろ ASP.NET Core MVC を本格的に使っていこうかと思っているので、これまで ASP.NET MVC 5 でよく使っていた Area を実際に Core MVC で使ってみることにします。とは言っても、公式のドキュメントに書いてあることで十分ですが、URL ルーティングとの…

クラスタ不要で柔軟な Docker ホスティングが行える Hyper.sh を試してみた

Hyper.sh - Clusterless Docker Hosting Hyper.sh の特徴とメリット 個人的にはクラスタ不要で Docker が使えるというだけでかなりのメリットになるのですが、それ以外にもいろいろと特徴とメリットがあったので少しだけ書いておきます。 Docker と同じコマ…

ASP.NET Core アプリケーションに最適なクラウドサービス

この間、お手伝いをしている一休さんでイベントが開催されたので、そこで ASP.NET Core に最適なクラウドサービスについて LT をしてきました。ASP.NET Core は Linux というか Docker が使えるので、実行環境の選択肢は格段に広がりましたね。LT の 5 分は…

Google Container Engine (GKE) に Visual Studio を使って ASP.NET Core アプリケーションをデプロイする

この間は App Engine Flexible Environment を使って ASP.NET Core アプリケーションを実行してみましたが、今度は Container Engine を使ってアプリケーションを動かしてみることにします。ちなみに Flexible Environment を使って動かす方法は以下になりま…

App Engine Flexible Environment で ASP.NET Core アプリケーションを動かしてみる

少し前に Google Cloud Platform の App Engine Flexible Environment でも ASP.NET Core アプリケーションの実行に対応したと聞いたので、一通り作成からデプロイまで試しておきました。App Engine Flexible Environment については良くわかってなかったで…

ASP.NET Core Identity に Windows Hello を使ったログイン機能を追加する

Windows Hello というか Web Authentication API を使って、簡単にサービスにログイン出来るようになって欲しいので、GitHub に ASP.NET Core Identity を使ったデモアプリケーションを公開しました。動かしながら仕組みを理解した方が良いと思いました。デ…

Docker Compose と Kudu を使って ConoHa 上に ASP.NET Core のデプロイ環境を作ってみた

App Service on Linux 向けとしてですが、Kudu の Mono 対応が進んでいたので Azure 以外の Linux 環境でも動くのではないかと思ったので、手軽な ConoHa を使って試してみました。そしてついでなので、ASP.NET Core アプリケーションをデプロイするところま…

Elastic Beanstalk を使って ASP.NET Core アプリケーションを実行する 2 つの方法を試した

最近は自分の中で ASP.NET Core への興味が高まってきてるので、実行環境をいつもの Azure ではなく今回は AWS の Elastic Beanstalk を使ってみることにします。タイトルに 2 つの方法と書いた通り、Windows Server 2012 R2 と Amazon Linux 上の Docker の…

ASP.NET Core MVC アプリケーションでスキャフォールディングが使えない時は

サンプルではなく、実際に ASP.NET Core MVC アプリケーションを開発する人が選ぶと思われる認証なしテンプレートでは、Visual Studio でのスキャフォールディングに必要なパッケージが追加されません。私は基本的に認証なしを選んで作っていくタイプなので…

ASP.NET Core MVC で大きく変わったフィルタについて調べた

仙台に行ったとき、ぼんぷろおじさんに ActionFilter で実行時にオプションを扱う場合にどうすればいいのか聞かれて、フィルタ周りまとめないといけないことを思い出したので書きます。思いのほか長くなってしまったので、久し振りに目次記法を使うことにし…

開発環境でも ASP.NET Core MVC の RequireHttps 属性を使えるようにする

ASP.NET MVC の RequireHttps 属性を使うと、HTTP で来た場合には HTTPS にリダイレクトしてくれるのですが、開発環境で 443 以外のポートを使っている場合、正しく動作しないという欠点がありました。 [RequireHttps] public ActionResult Index() { return…

ASP.NET Core MVC の Content Negotiation を活用する

ASP.NET Web API 2 でも Content Negotiation は実装されていましたが、Core MVC では進化してさらに便利な機能が追加されていたので、簡単にですが調べてみました。Formatting Response Data — ASP.NET documentationドキュメントも割と揃ってきているので…

ASP.NET MVC アプリケーションを ASP.NET Core MVC にマイグレーションしようとして挫折した話

これは既に本番環境で動作している ASP.NET MVC アプリケーションを、軽い気持ちで ASP.NET Core MVC にマイグレーションしようとした考えが甘い男の、真実の物語である。ネタ記事っぽいですが、割と真面目にマイグレーションしようとして、余りにも辛くなっ…

既存の ASP.NET Web API アプリケーションを ASP.NET Core MVC 1.0 へマイグレーションしてみた

.NET Core 1.0 と ASP.NET Core 1.0 が RTM したので、とりあえず簡単なものからマイグレーションしてみました。ターゲットは無職になる前に作ったこれです。時間を持て余した感あるので、俺得 API 作ってた https://t.co/9ag1MfPiGU— しばやん (@shibayan) …

.NET Core / ASP.NET Core 1.0 が RTM になりました

Red Hat DevNation 2016 で .NET Core 1.0 の RTM が発表されるはずですが、一足お先に SDK などが RTM になっていたのでインストールしました。詳しいことは @kosmosebi や @ufcpp が書いてくれます。.NET のページから Preview の文字が消えて、各プラット…

Road to RTM - ASP.NET Core に至るまでの迷走の歴史

6/29 に .NET Core / ASP.NET Core 1.0 の RTM が決まって嬉しいので、これまで ASP.NET Core がどのような道を辿ってきたのかを、つらつらと書いてみたいと思ったので書きます。要するにネタ記事です。ネタ記事なので「ああ、こういうこともあったなぁ(白…

.NET Core / ASP.NET Core 1.0 が 6/27 に RTM となるらしい

戦車道で人生の大切なことを学んでいる間に dotnetConf 2016 のキーノートが始まっていました。単純に忘れていたので、ストリーミングを見返しながらぶちぞうメソッドでブログを書いてみます。キーノートのスピーカーは Scott Hunter です。最初は .NET 周り…

ASP.NET Core 1.0 に組み込まれたロギングフレームワーク

ASP.NET Core 1.0 はフレームワークの足回りのアップデートが大量に行われています。その中でもロギングフレームワークが標準で提供されているのは、割と重要な点だと思います。Logging — ASP.NET documentation公式ドキュメントのファンダメンタルズ以下に…

ASP.NET Core 1.0 でオプションを柔軟に扱えるようになった話

ASP.NET というか .NET Framework は System.Configuration を使って、アプリケーションの設定読み込みを実装するか、完全に自前で XML などを読み込む処理を作っていたかと思いますが、ASP.NET Core ではフレームワークとして用意されました。Configuration…