きなこもち.net

.NET Framework × UiPath,Orchestrator × Azure × AWS × Angularなどの忘備録

C#

C# × CallerMemberNameAttribute × 呼び出し元のメソッド名取得方法

C#

この記事の目的 この記事では、 System.Runtime.CompilerServices.CallerMemberName属性の使い方のまとめ を目的としています。 本題 CallerMemberNameって便利 実装サンプル CallerMemberNameって便利 呼び出し元のメソッド名を取得したいことってよくあり…

log4net ✖️ 出力処理編 ✖️String.Internによるメモリ節約術

この記事の目的 この記事は、 StringクラスのInternメソッドの使い方のメモ を目的としています。 本題 なぜString.Intern? String.Internとは? 実際に使ってみよう 利用方法を考えてみよう 注意点など なぜString.Intern? log4netでログを出力する処理の…

log4net ✖︎ 起動処理 ✖︎ まとめ

log4netの起動処理も最後となりました。今まで断片的に起動処理の内容を見てきました。 それぞれで、参考になる実装を中心に見てきましたので、全体的な処理の流れについては疎かになっていました。 そういう事情から、今回は起動処理完了記念として、 「log…

log4net × xml 読み込み処理 × その他の種類まとめ

log4netの初期化処理も中盤に入ってきました。log4netでは、log出力のconfigファイルの読み込みをXmlConfiguratorクラスの中で、XmlReaderと、XmlDocumentを利用して実装しています。 XmlReaderSettings settings = new XmlReaderSettings(); settings.DtdPr…

String ✖️ 最大文字数 ✖️ Max Length

この記事の目的 本題 まずは公式ドキュメントから! その他議論まとめ まとめ この記事の目的 この記事は、 .NET Frameworkで、Stringは最大何文字まで定義できるかについて調べることを目的としています。 本題 まずは公式ドキュメントから! あまり意識し…

log4net × 設定ファイルの読み込み処理 × 例外処理

よく、ファイルの読み込み処理を実装することがあります。 まぁ、読み込み処理だけに限ったものではないのですが、 ・どこまで、例外を考慮して実装するか ・例外が発生した場合の実装はどうするか などがあいまいになってしまい、とりあえず正常系だけ実装…

log4net × FileSystemWatcher × 設定ファイルの監視

引き続き、log4netの起動処理の解読をする中で学んだ技術についてまとめていきます。 今回は、System.IO.FileSystemWatcherクラスについてです。log4netでは、FileSystemWatcherを使って設定ファイルの変更を監視し、変更があった場合設定ファイルを再読み込…

log4net × System.Attribute × 呪文

log4netのDeep Diveの続きになります。前回*1に引き続き、log4netを読んでいるうちに知ったCustomAttributeについてまとめます。 今回は、特に設定したCustom Assemblyの情報をどうやって取得するかを中心にまとめます。 以下のように(普通に)Loggerのイン…

log4net × Assemblyファイルの設定 × 属性の名前付きパラメータ

久しぶりのlog4netのDeep Diveの続きになります。 今回は、log4netを読んでいるうちに知ったCustomAttributeの設定方法、定義方法についてまとめます。log4netを利用する時、logの出力設定を定義した設定ファイル(log4net.config)を用意します。 さらにlog…

REST × SOAP × MSDNマガジンで調査!

C#

MSDNマガジンをあさっていたら気になったので、まとめてみました。 WCF :Windows Communication Foundation さまざまな通信プロトコルを同一のプログラミングモデルで取り扱うための仕組みのこと (主に?)SOAP、REST、POXをサポート SOAP:Simple Object …

Text Analytics × Http Client × Sample Code

せっかくHttpClientについてと、Cognitive ServicesのText Analyticsを知ったので、サンプルコードを書いてみました。特に何もないですが、今後も使っていけそうなコードなので、TFSだけでなくこっちでもメモしておきます! 整理したTextAnalyticsUtilのコー…

log4net × Lock Model × Mutex(続き)

InterProcessLockというModelクラスの実装についての記事の続きです。 どのようにしてMutexを使ってロックをかけているかを順番に見ていきます。 順番は以下の通りです。 ファイルオープン ロック要求 ←特にここ ロック解除 ←特にここ ファイルクローズ 1.…

HttpClient × WebClient × HttpWebRequest

C#

十分に理解していないためか、よく3つの違いを忘れてしまうので、戒めのためにも3つの違いをまとめておきます。 System.Net.HttpWebRequest/HttpWebRespons System.Net.WebClient System.Net.Http.HttpClient 実装編 実装シナリオ: あるURLにGETリクエスト…

log4net × FileStream × Using

log4netでは、ファイルの排他制御にLockModelクラスを利用しています。 そのLockModelクラスでは、ファイルの出力操作にFileStreamを使って出力を行います。(LockModelには3つの種類がありますが、どのModelを使ってもFileStreamを利用します。) 出力の準…

log4net × Lock Model × Mutex

log4netの起動処理の追っかけは難しかったので、いったん飛ばしておきます。 とりあえず、次のステップのFileAppenderの処理について細かくみていきます・・・ FileAppenderクラスはこんな感じに実装されています! ということで、上から見ていきます。 ロッ…

log4net × Deep dive × 環境準備

ログの出力をしたいときによく使うOSS「log4net」。 使い方は知っているけど、 ・実際に内部でどういうことを行っているか ・知っている機能以外に使っていない便利機能はないか などについて改めて知りたくなりました! ソースコードはGitHubで公開されてい…

C#7.0でのexpression-bodied function member

C#

expression-bodied function member? 本体が式の関数メンバー・・・ 先生・・分かりにくいです。。。 つまり・・・ 「関数が1つの式"だけ"で定義されるもの。 そんな関数をラムダ式っぽく簡単に書けるようにしました。」 ・・・という機能として把握しまし…

Visual Studio 2017での「プロセスにアタッチ」機能について

Visual Studio で実行中のプロセスにアタッチしてデバッグをするときに使う 「プロセスにアタッチ」機能の話。 「プロセスにアタッチ」ダイアログを表示したとき、 実行中のプロセス一覧が表示されるよね。 いっぱいプロセス表示されるよね。 たくさんあるか…