.NET Core 3.1 の Windows Forms アプリで、構成情報を取得する方法、さらに DI 機能を追加して、取得した構成情報と EF Core で利用するコンテキストクラスを DI する方法を書きます。 ASP.NET Core アプリのプロジェクトを Visual Studio 2019 のテンプレートを使って作成すると、appsettings.json などの構成ファイルが自動的に生成されてプロジェクトに含まれます。さらに、構成ファイルから情報を読み込んで IConfiguration オブジェクトが生成され、構成情報を取得できるようになります。(詳しくは Microsoft のドキュメント「ASP.NET Core の構成」参照) また、作成したプロジェクトには DI 機能も自動的に組み込まれ、生成された IConfiguration オブジェクトを DI コンテナに
一括挿入によると SQLite には、データを一括挿入するための特別な方法はありません。 データの挿入または更新時に最適なパフォーマンスを得るには、以下を行ってください。 トランザクションの使用。 同じパラメーター化コマンドの再利用。 後続の実行で、最初の実行のコンパイルを再利用します。 と案内されています。 マシン環境が異なるので所要時間が異なりますが、 takemori_kondoさんのコード: 402ms 一括挿入: 230ms 一括挿入からtranをコメントアウト: 243,755ms と愚直にループしてもかなり高速になります。 #if false foreach (var group in list.Select((hv, i) => (hv, i)).GroupBy(x => x.i / 1000)) { using var cmd = conn.CreateCommand()
あいさつ 前準備 Bluetooth通信のやり方 周囲のBluetooth端末をスキャン スキャンした端末が通信したい端末かチェックし値の購読を始める あとがき 参考 あいさつ お久しぶりです。はかせです。 この記事は、C# その2 Advent Calendar 2019 の22日目の記事となります。 今回はコンソールアプリでBluetooth通信をやってみます。 やることとしては特定のBluetooth端末と通信し、 その端末からセンサーの値なりなんなりを取得できるようにします。 前準備 開発はVS2017の最新版を使っています。 C#にはBluetooth周りのAPIがあるっちゃあるんですが、 どれもこれもUWP専用らしいです。 UWPでやっても良いんですが、 どうせなら慣れているコンソールアプリの方が扱いやすいです。 ということでNuGetからUWP専用APIを通常アプリでも使える
使うクラス(UWP(WinRT)API) Windows.Devices.Bluetooth; Windows.Devices.Bluetooth.Advertisement; Windows.Devices.Bluetooth.GenericAttributeProfile; Windows.Devices.Enumeration; 基本的に、下記のサンプルをもとにしている。 https://github.com/microsoft/Windows-universal-samples/tree/master/Samples/BluetoothLE/cs これをベースに、今回やろうとしていることに最低限必要な処理だけ抜き出したのが今回やったこと。 作成するもの BLE環境センサから温度をとってきてアプリで使うということをしたいので、温度を採ってこれるライブラリ(dll)を作る。 まずは勉強
photo credit: ArtBrom MPXJというMicrosoft Projectのファイルへアクセスするためのライブラリを試してみました。MPXJは以下のファイル形式に対応しています。 Microsoft Project Exchange (MPX)Microsoft Project (MPP,MPT)Microsoft Project Data Interchange (MSPDI XML)Microsoft Project Database (MPD),Planner (XML).MPXJはJavaで書かれているのですがIKVMにより.NETからも使うことができます。 インストールと設定Browse MPXJ: Microsoft Project Exchange Files on SourceForge.netからmpxj-3.1.0.zipをダウンロードし、任意のディレ
前書き こう、「超単純だしC#なら10分ぐらいで書けるんだけど手作業でやると恐ろしく時間がかかる」みたいな作業ってあるじゃないですか。 そう言うのは最近ScriptCSで書いてるんですけど、あれの弱点って「どんな端末でも実行できるわけではない」なんですよね。.NET 4.5以上が必須だし、そもそもScriptCS自体がない。 Windows Server上での作業だとか、メインで使っているのとは別の開発端末での作業とか、「こいつ叩けば一発っすよ。」と鼻をほじりながら誰かに渡したりするようなスクリプトを書きたいときにはどうしても別の方法を考えなきゃいけません。 ってなると、じゃあbatでも書く?ってなるんですが、あれを書くエネルギーって本当にもったいないじゃないですか。デバッグは大変だし、文法はクソだし、文法はクソだし、文法はクソだし。 System.IO.PathとかSystem.IO.D
リモート接続先で起動するアプリで、接続元の情報を取得したい事案が発生しました。 そんなときはこの関数を使えばよさそうです*1。 WTSQuerySessionInformation 関数 DllImportすれば C# でも書けますね、ということで書いてみました。sessionId は WTS_CURRENT_SESSION を指定すれば自分自身のセッション情報を取得できるのですが、これは uint.MaxValue のようです。 Retrieve Terminal Server session information. 若干面倒なのは、WTSInfoClass で指定した値に応じて ppBuffer が示す変数の構造が変わることです。そのため、サンプルでは WTSClientAddress と WTSClientName の時のパターンを書いています。WTSClientAddressの時
C# 7.0 (.NET 4.5.2 )でサービスプログラムを開発しています。 実行環境は Windows8.1, Windows10, Windows Server 2016, Windows Server 2019 です。 ログイン済の状態でサービスを起動した時にログイン済かどうかを判定したいのですが、 (OnSessionChange で行う処理を OnStart 時にも実装しようとしています) リモートデスクトップ接続のセッションに対して正しく判定できる方法が分かりません。 win32 API を介した 以下方法を試してみましたが どれも サービスプログラムからは 正しく判定できませんでした。 ・アクティブなセッション識別子(SID)の値 WTSGetActiveConsoleSessionId() ・SM_REMOTESESSION(0x1000) に対するシステム値 GetSy
.NET Core 3.1 SDKをMacにインストールして「Blazor WebAssembly App (3.2.0)」を試してみる。.NETWebAssembly.NETCoreBlazor
概要 Blazor WebAssembly 3.2.0 Preview 3がリリースされ、Visual Studio(とVisual Studio Code)のデバッグに対応したようなので、Visual Studioでのデバッグを試した際のメモです。 参照元 環境 Windows 10(64bit) 1909 Google Chorome 80.0.3987.149 (64bit) .NET Core SDK 3.1.300-preview-015048 Microsoft.AspNetCore.Blazor 3.2.0-preview3.20168.3 Visual Studio 2019 Version 16.6.0 Preview 2.0 セットアップ 最新の.NET Core SDK(3.1.201) のインストール 下記から最新バージョンのSDKをインストールします。 リンク テ
May 29~30, 2019 に開催された "de:code 2019" の Day1 EXPOシアターセッションで、Blazor について発表した際のスライド資料です。CC BY License、又は The Unlicense のデュアルライセンスで再利用可能です。 アニメーション付 PowerPoint 原ファイルは以下の URL から入手可能です。 https://1drv.ms/p/s!Ahj5X4eD4NFdgvpnYa4h1jR5JnFlmgRead less
更新履歴 2020/03/23 IoT について追記 その他に帝国兵さんのツイートを追加 サーバーレスカテゴリーを追加して AWS Lambda を追加 ASP.NET Core Razor Pages を追記 2020/03/24 kennakamu さんの「個人的に C# が向かないと思うこと」へのリンク追加 本文 昔ブログにこんな記事を書きました。 C# で何か出来るのか?まとめてみた あれから 2 年が経って昔からある Windows 専用の .NET Framework に対する新機能の提供が終わり、クロスプラットフォームに対応した .NET Core が今後のメインストリームとして .NET 5 → .NET 6 のように進化していくことが 2019 年 5 月の Build 2019 で発表されました。以下の Blog 記事がアナウンス後に発表されています。 Introduc
単一のExists句を表す場合はContainsを使用していましたが、複数のキーでExistsを実現させねばならない状況に陥ったので、勉強がてらにまとめました。 単一キーのExistsの場合 基となるSQL SELECT * FROM table_A as A WHERE EXISTS ( SELECT * FROM table_B As B WHERE A.Key1 = B.Key1 ) メソッド式(C#) table_A .Select(s => s) .Where(t1 => table_B.Select(t2 = > t2.Key1) .Contains(t1.Key1) ポイントは、table_Bで一致させたい項目をSelectで絞り込んだ結果に対して、Containsを行う点です。 IN句に近いイメージですが、生成されるSQLはEXISTSになります。 複合キーのExistsの
Simply paste in your VB.NET code below, and this free utility will automatically convert it to its equivalent in C#. Your source code is safe We do not permanently store any code submitted via this utility - the data you submit is kept only long enough to convert the code and send the result back to you. Known Issues We've had to remove the automatic clipboard copying (as Flash 10 and above requir
Simply paste in your C# code below, and this free utility will automatically convert it to its equivalent in VB.NET. Your source code is safe We do not permanently store any code submitted via this utility - the data you submit is kept only long enough to convert the code and send the result back to you. Known Issues We've had to remove the automatic clipboard copying (as Flash 10 and above requir
VB.NETのTIPS(小技集)を中心に、Javascript、PHP その他のプログラミングについて少し役に立つ情報を発信します。いわゆる個人的な忘備録ですが、みなさんのお役に立てれば幸いです。 テキストボックスでの入力で、入力される文字を数字のみとしたい場合の方法を示します。 文字の入力を行うとテキストボックスの KeyPress イベントが発生します。 この時に入力された文字をチェックし、数字以外であればその文字を捨てる処理を行います。 尚、 KeyPress イベントでは BackSpaceキー入力の場合も発生しますので、 このキーは有効にする必要があります。 KeyPress イベントで数字チェックを行う Public Class frmTextBox Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEve
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く