tekitoumemo’s diary

C#、.NET系の技術ブログを書いています。みんなの洋楽ランキングを運営しています。

C#

AzureでSendGridを扱う

SendGridイイね!Azure App Service on Linuxに移行する為にテストをしていたところ、メール送信に失敗するようになりました( ゚д゚) tekitoumemo.hatenablog.com 色々調べてみるとAzureではメール送信を推奨していないことがわかりました。 Azure 上にメール…

ASP.NET MVCにおけるモデル検証について

かなり一般的なネタですが、以外に実装されている現場が少なく、色々処理した後にエラーチェックしてバグる現象が発生していることが多い気がするので備忘録として。以下に書いているコードは.Net Core2.1です。Frameworkでもほぼ一緒なので参考になるかなと…

【第2弾】React使ってちょっとしたもの作った

大したものじゃないんですが、課題だった日付の検索プルダウンを実装しました。数年に遡って週ごとにプルダウンを出してたのですが、使いづらすぎる、量が多すぎる、パフォーマンスも気になるので整えました。インデックスが1000を超えたので(ページ数は200…

AutoMapperでifって書きたいときどうするか

C#

automapper.orgC#のWEB開発ではAutoMapperが欠かせないレベルでかなり重要なのですが、完全にマッピングするのはやっぱり難しかったりします。MapFromだと三項演算子しか書けなくて読みづらい場合も出てくるのでifでかける方法を探しましたらあったので、備…

ASP.NET Core MVCにおけるファイルダウンロードのあれこれ

結構サボってたー。ブログ書き続けるのは難しい!平日は寝たいし、休日は遊びたいし。今回はASP.NET Core MVCでのファイルダウンロードの実装方法を説明します。ファイルダウンロードにもいろいろあって ファイルを保存させる ファイルをブラウザで表示させ…

運用しているサイトで使っている.Net Coreのミドルウェア

mygkrnk.com 地味ーな努力と運によってSEO4位(「洋楽ランキング」で)まで行きました。今月は12KPVまで行く見込みで、予想よりはるかに上回りました。ということで、.Net Coreで作っているみんなの洋楽ランキングで使っているミドルウェアの紹介します。正…

Macで作ったASP.NET MVC CoreのDocker ImageをHerokuで動かす【想像編】

タイトル長杉 最近Azureにハマってます。今回のタイトルはAzureで出来ますし楽ですしやる意味わからんと思う人がいると思いますが、それなりに理由があります。 なぜにへろく? SSLを使った画面が必要になったためです。で、SSL化するためにはインフラの選定…

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

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

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

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

【.Net Core】.Net Coreでも正式にTransactionScopeが使えるようになった!

トランザクションを書くとき、成功したらcommit、失敗したらrollbackと結構めんどいのですが、それらを解決してくれるのがTransactionScopeです。例で書いた方がわかりやすいので以下で説明します。例はDapperを使います。 通常のトランザクション cn.Open (…

【ASP.NET MVC Core】.NET CoreでSystem.Net.Mail.SmtpClientが使えなくなったのでMimeKitを使う

みんなの洋楽ランキングを.NET Coreに絶賛移行中でMacBook Airのみで開発しています。.Net Core3.0ではWindows Formも対応するみたいでなかなか最強感出てきましたね!ASP.NET CoreはScalaの1.7倍のパフォーマンスを出すそうです。 www.ageofascent.comタイ…

macで.NET CoreのSPAプロジェクトを動かすと謎のエラー

macでもコマンドベースだとSPAがちゃんと動きます。以下の通り。 dotnet new angular -o angularTest npm i webpack dotnet restore dotnet build dotnet runこれで動くのでvscodeでデバッグしたら以下のエラー。。 意味不明なエラーが出た、ubuntuでは動い…

【C#】テキトーなAutoMapperを作った

AutoMapperがあまり使い勝手良くなかったから自分で作りました。クラスの型が違っててもだいたいマップするよってライブラリ。 メソッド これだけ(笑) void Map<T1, T2>(T1 src, T2 dest) T1:コピー元のクラス型 T2:コピー先のクラス型 src:コピー元のモデル de</t1,>…

ubuntuで.net coreを動かしたらnuget動かんかったのでその対処とAngular追加

タイトルどおりです。なんにも動かんくなったので、対処法を書く。まず以下のエラーが発生 Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'System.Runtime.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyT…

AzureにカスタムドメインとSSLを設定する

SSLやらなんやらやってきましたが、最終章です。 tekitoumemo.hatenablog.com tekitoumemo.hatenablog.com tekitoumemo.hatenablog.comSSLやらドメインの取得をしたらAzure Portalへ移動します。まずはSSLの登録をしましょう。[SSL証明書]→[証明書のアップロ…

わりとまじめにサービスを作った

ずっとWEBサービスを作りたいと思っていて、時間やアイデアなどなかなか思い浮かばなくてずっとやらずにいましたがもう諦めついて 「趣味をWEBサービスにしちゃおう!」 と思いわりとまじめに作りました。それがこちらです。mygkrnk.com みんなの洋楽ランキ…

【.NET Core, Azure SQL Server】ubuntuを使って.NET CoreでAzure Databaseを扱う

前回は.NET Coreをubuntuで動かすものを記事にしました。今回はubuntu上で.NET Coreを使ってAzure Databaseを動かせるかという検証です。ubuntuに.NET Coreを動かす場合は以下を参考にしてください。 tekitoumemo.hatenablog.com僕の持ってるサブPCはポンコ…

【.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…

【C#..Net】.ctor()って何?

VB.NETで起きた謎の.ctor。.Net Frameworkのバージョンアップをやった時に一瞬で落ちたのでイベントビューアーでログ解析したら以下のエラーが発生しました。 アプリケーション:○○.exe フレームワークのバージョン:v4.0.30319 説明: ハンドルされない例外の…

【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#】AutoMapperのCreateMapが使えない!?

C#

AutoMapper が5.x系から静的メソッドが使えなくなりましたのでその話。CreateMapがエラーになってて「AutoMapper CreateMap 使えない」で検索しても出てこなかったのでここで書こうかと。 AutoMapperとは? automapper.org モデルを簡単にマッピング出来るラ…

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

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

【C#】Listになってるクラスのプロパティを一行で変える

C#

小ネタ、めっちゃ小ネタ。みんな大好きLINQを使います。Listのクラスのプロパティを一括で変えたいってときがあると思います(割と)そこでプログラム書きたくない主義の僕はふと思いつき調べたんで書きます。まずは普通に一括でhoge1を1にします。 public p…

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

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