tekitoumemo’s diary

思ったことを書くだけ。長文版Twitter

ASP.NET MVC

C#でmarkdownを書く(Markdig)

サイトを運用する人あるあるで 「ガイドとかヘルプ、マジめんどくせ〜」 ってなりませんか?僕はめっちゃなります、 CSSとかマークアップがとりあえずだるいし、wordpress運用してAPIで取り込むとかもだるいです。 今回はC#でmarkdownが書けるライブラリを紹…

.Net Coreの部分ビュー

同じビューを何回も書き続けるのが微妙なので、ASP.NET Coreでは部分ビューってのがあります(どのフレームワークにもあるけど)。ASP.NET5でもHTMLヘルパーであったのですが、ちょっと書き方が変わってるので備忘録として。HTML5であった@Html.Partialとほ…

ASP.NET Core MVCのエラーハンドリング【起動時編】

前回の記事の続きです。やっとみんなの洋楽ランキングの.NET Core対応が終わりましたので今週末に完全移行します!.Net CoreなのでAzureからGCPに行こうしようと思いましたがやっぱりAzure良い!特に不満がなければAzureで行こうと思ってます。近いうちにLin…

ASP.NET Core MVCのエラーハンドリング【MVC編】

みんなの洋楽ランキングにて.Net Coreのエラーハンドリングを実装する必要がありました。エラーハンドリングのやり方は公式でも載ってるのですが、実用的な記事があまりないので僕なりのやり方をここで紹介しようと思います ※これは私のオリジナールも含まれ…

AutoValidateAntiforgeryTokenが便利すぎて感動した

今の現場がレベル高くて全く付いていけなくてひたすら給料泥棒してます、よくクビにならんわな。みんなの洋楽ランキングを絶賛移行中で色々ネタが増えました。それが.Net Coreから追加されたCRLF対策のAutoValidateAntiforgeryTokenで最強だと知りました。あ…

【.Net Core 2.0,Ubuntu】Ubuntu16.04でASP.NET MVCを動してみた

Ubuntu 16.04を入れたので、.NET Coreを入れて動かしてみました。結構、いろんな記事みて理解しながらやったので、まとめます。 .NET Coreを入れる パッケージのダウンロード。今回は「.NET Core 2.1.0-preview1 」を入れます。 wget -q packages-microsoft-…

【C#、ASP.NET】SQL Serverでセッション管理する

ほぼ完成した。公開まであと少し。ASP.NETのセッション方法はいくつかあるのですが、今回はインメモリ OLTP でセッション管理を行う方法を紹介します。以下を参考にしました。 blogs.technet.microsoft.com インメモリ OLTP とは 正直、僕もよくわかってない…

【ASP.NET WEB API、MsTest】アノテーションをテストする

テストで正常パターン、異常パターンなど様々なテストを書くと思いますが、アノテーションのエラーを取るやり方が日本語で載ってなかったので書きます。stack traceでは以下に載ってました。ASP.NETではアノテーションで大体のエラー処理が行えるのでめっち…

【ASP.NET MVC,C#】一つのメソッドで複数のViewを切り替える方法

以前書いた記事の応用編です。 同じようなロジックなんだけど、ビューのデザインや表示する値を変えれば便利だなーと思うときがあります。今回は受け取ったパラメータから表示するビューを切り替えたり、ViewModelを変えたりする方法を紹介します。参考用にg…

【ASP.NET API、C#】パターンによって様々なレスポンスを返す方法

小ネタ。オブジェクト志向を理解していれば当たり前の話と思われるかもしれませんが、割と使われてない感じがしたので書きます。 パターンによる様々なレスポンスとは? RESTful APIでは、リクエストを受けてjsonで返すことが多いと思います。こんな感じで。…

【ASP.NET MVC.C#】ViewEnginesでランディングページを効率良く量産する方法

ランディングページをサイトに組み込むとき、よくデザイナーさんにこんな質問されます。 「どこのファイルを編集すれば良いですか?」 「どんなurlになりますか?」 「ページ作ったら教えてください」 ちゃんと説明して作ってもらえるようにした方が良いので…

【ASP.NET MVC, C#】部分ビューでフォームとAjaxを扱う

MVCで開発してて便利な部分ビューがありますが、フォームとAjaxを扱うことでめんどくさいエラー処理やモーダルで扱う入力処理などめちゃくちゃ楽になったので書きます。サンプルは以下に貼っておきます、参考程度に。 github.com 「何言ってるかわからない」…

【C#、ASP.NET MVC】独自クラスのプロパティをNULL以外の値で初期化する

技術ネタというよりはテクニックネタ。独自クラスのプロパティを初期化をするときにStringやらNullableやらリストやらをdefault(T)で初期化するとNULLになってしまいます。 default(T)とは 単純に初期化をするだけなのですが、ジェネリックで指定出来るので0…

【C# + ASP.NET MVC】HTMLヘルパーのメリット、デメリット

久しぶりに技術ネタ。HTMLヘルパーは非常に便利でスマートに書けるのですが、実際に運用していてデメリットも多いので、そこらを書いていきます。 HTMLヘルパーとは? ASP.NET MVCのフォームレンダリングです。簡単に言うと冗長になっちゃうビューに記述する…

【C# + MVC】CustomAttributeでパラメータを扱う

技術ネタ。CustomAttribute便利ですよね。プログラムは大好きなんだけど一行でも少なく書きたい主義の僕にはひじょーに素敵な機能です。パラメータでちょっと動きを変えたい!セッションで持つほどじゃないけどちょっとだけ!!ってことは割とある?と思うの…

【C#】Dapper使ってりゃ間違いないよ

だっぱー C#のデータアクセスはいっぱいあるけどチームで使うなら結構最適なORマッパーじゃないかなと思い始めてるので、Dapeerの良さについて語ります。ちなみにチームと言っても色んな人種(年齢やら経歴やら)がいるチームにDapeerは最適だと思ってるので…

【angular4+.NET Core】一瞬でSPAを作る

技術ネタ。わかりにくいから他のサイト推奨。リンクは載っける。angularの環境作るのだるくない?c#とどう連携すんの?って調べてたら一瞬でSPAテンプレート出来たのでメモ。 SPAプロジェクトの作成 SPA関連のテンプレート(.NET Core)をダウンロード dotne…

【ASP.NET MVC】MVC2とMVC3以降のバリデーションの挙動がちょっと違う

技術ネタ。あまり知ってても知らなくてもどうでも良い技術ネタ。web.configに以下のコード書くと勝手にバリデーションしてくれて便利だよ☆ってやつなんだけどMVC2とMVC3の挙動が違いすぎて「は?」ってなった。 <configuration> <system.web> <httpRuntime requestValidationMode="2.0" /> </system.web> </configuration> MVC2でquerystringに危険なコードが埋め…