Enviar pesquisa
Carregar
Windowsサービスも.NET Coreで作ろう
•
Transferir como PPTX, PDF
•
0 gostou
•
737 visualizações
K
keitasudo1
Seguir
C# Tokyo オンライン LT 大会 2020/07の発表に使用した資料。
Leia menos
Leia mais
Software
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 13
Baixar agora
Recomendados
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
日本マイクロソフト株式会社
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行について
Shigeru Tatsuta
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
Amazon Web Services Japan
Solrで日本語全文検索システムの構築と応用
Solrで日本語全文検索システムの構築と応用
Syuta Hashimoto
vSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについて
富士通クラウドテクノロジーズ株式会社
UTアンチパターン
UTアンチパターン
ryoheiseki1
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
Recomendados
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
日本マイクロソフト株式会社
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行について
Shigeru Tatsuta
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
Amazon Web Services Japan
Solrで日本語全文検索システムの構築と応用
Solrで日本語全文検索システムの構築と応用
Syuta Hashimoto
vSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについて
富士通クラウドテクノロジーズ株式会社
UTアンチパターン
UTアンチパターン
ryoheiseki1
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
Static Web AppsとBlazor WebAssemblyのすすめ
Static Web AppsとBlazor WebAssemblyのすすめ
TomomitsuKusaba
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
日本マイクロソフト株式会社
Spring Integration 超入門
Spring Integration 超入門
Yasutaka Sugamura
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
本気で使うStack storm
本気で使うStack storm
tyamane
マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話
Makoto Haruyama
Mavenの真実とウソ
Mavenの真実とウソ
Yoshitaka Kawashima
Windows 11 がやってくる - IT管理者の準備と対策
Windows 11 がやってくる - IT管理者の準備と対策
彰 村地
MongoDBの監視
MongoDBの監視
Tetsutaro Watanabe
B07_業務の自動化を多角的に実現する Power Automate の世界 [Microsoft Japan Digital Days]
B07_業務の自動化を多角的に実現する Power Automate の世界 [Microsoft Japan Digital Days]
日本マイクロソフト株式会社
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
増田 亨
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara
AWS X-Rayによるアプリケーションの分析とデバッグ
AWS X-Rayによるアプリケーションの分析とデバッグ
Amazon Web Services Japan
Azure Artifactsを触ってみよう
Azure Artifactsを触ってみよう
DevTakas
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために
Yutaka Tsumori
Essentials of container
Essentials of container
Toru Makabe
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
増田 亨
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
Shoken Fujisaki
コンテナ基盤であるLXC/LXDを 本番環境で運用する話
コンテナ基盤であるLXC/LXDを 本番環境で運用する話
Nobuhiro Fujita
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
Study Group by SciencePark Corp.
About .Net vNext
About .Net vNext
Kazunori Hamamoto
Mais conteúdo relacionado
Mais procurados
Static Web AppsとBlazor WebAssemblyのすすめ
Static Web AppsとBlazor WebAssemblyのすすめ
TomomitsuKusaba
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
日本マイクロソフト株式会社
Spring Integration 超入門
Spring Integration 超入門
Yasutaka Sugamura
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
本気で使うStack storm
本気で使うStack storm
tyamane
マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話
Makoto Haruyama
Mavenの真実とウソ
Mavenの真実とウソ
Yoshitaka Kawashima
Windows 11 がやってくる - IT管理者の準備と対策
Windows 11 がやってくる - IT管理者の準備と対策
彰 村地
MongoDBの監視
MongoDBの監視
Tetsutaro Watanabe
B07_業務の自動化を多角的に実現する Power Automate の世界 [Microsoft Japan Digital Days]
B07_業務の自動化を多角的に実現する Power Automate の世界 [Microsoft Japan Digital Days]
日本マイクロソフト株式会社
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
増田 亨
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara
AWS X-Rayによるアプリケーションの分析とデバッグ
AWS X-Rayによるアプリケーションの分析とデバッグ
Amazon Web Services Japan
Azure Artifactsを触ってみよう
Azure Artifactsを触ってみよう
DevTakas
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために
Yutaka Tsumori
Essentials of container
Essentials of container
Toru Makabe
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
増田 亨
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
Shoken Fujisaki
コンテナ基盤であるLXC/LXDを 本番環境で運用する話
コンテナ基盤であるLXC/LXDを 本番環境で運用する話
Nobuhiro Fujita
Mais procurados
(20)
Static Web AppsとBlazor WebAssemblyのすすめ
Static Web AppsとBlazor WebAssemblyのすすめ
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
Spring Integration 超入門
Spring Integration 超入門
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
本気で使うStack storm
本気で使うStack storm
マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話
Mavenの真実とウソ
Mavenの真実とウソ
Windows 11 がやってくる - IT管理者の準備と対策
Windows 11 がやってくる - IT管理者の準備と対策
MongoDBの監視
MongoDBの監視
B07_業務の自動化を多角的に実現する Power Automate の世界 [Microsoft Japan Digital Days]
B07_業務の自動化を多角的に実現する Power Automate の世界 [Microsoft Japan Digital Days]
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
AWS X-Rayによるアプリケーションの分析とデバッグ
AWS X-Rayによるアプリケーションの分析とデバッグ
Azure Artifactsを触ってみよう
Azure Artifactsを触ってみよう
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために
Essentials of container
Essentials of container
DockerとPodmanの比較
DockerとPodmanの比較
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
コンテナ基盤であるLXC/LXDを 本番環境で運用する話
コンテナ基盤であるLXC/LXDを 本番環境で運用する話
Semelhante a Windowsサービスも.NET Coreで作ろう
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
Study Group by SciencePark Corp.
About .Net vNext
About .Net vNext
Kazunori Hamamoto
About .Net vNext
About .Net vNext
Kazunori Hamamoto
OSSコンソーシアム 開発基盤部会 2021年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2021年度 活動方針・部会紹介
Daisuke Nishino
20021007
20021007
小野 修司
.NETラボ2021年10月 .NETの過去と現在
.NETラボ2021年10月 .NETの過去と現在
TomomitsuKusaba
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
Akira Inoue
【BS2】.NET 6 最新アップデート
【BS2】.NET 6 最新アップデート
日本マイクロソフト株式会社
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
DIVE INTO CODE Corp.
.NET Coreとツール類の今
.NET Coreとツール類の今
Yuki Igarashi
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
Akira Inoue
.NET CoreアプリでWindowsの外に出発
.NET CoreアプリでWindowsの外に出発
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
ここが良かったDatadog
ここが良かったDatadog
tyamane
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Yuki Ando
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
日本マイクロソフト株式会社
基盤の改善から既存アプリケーションの改善
基盤の改善から既存アプリケーションの改善
T.R. Nishi
Team Foundation Server/Visual Studio Onlineアップデート(2015/07/22)
Team Foundation Server/Visual Studio Onlineアップデート(2015/07/22)
Masanori Ishigami
複数言語に触れてIoTの表現の幅を広げよう
複数言語に触れてIoTの表現の幅を広げよう
Core Concept Technologies
Silverlightを囲む会in大阪#19
Silverlightを囲む会in大阪#19
Atsuo Yamasaki
OSSコンソーシアム 開発基盤部会 2015年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2015年度 活動方針・部会紹介
Daisuke Nishino
Semelhante a Windowsサービスも.NET Coreで作ろう
(20)
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
About .Net vNext
About .Net vNext
About .Net vNext
About .Net vNext
OSSコンソーシアム 開発基盤部会 2021年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2021年度 活動方針・部会紹介
20021007
20021007
.NETラボ2021年10月 .NETの過去と現在
.NETラボ2021年10月 .NETの過去と現在
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
【BS2】.NET 6 最新アップデート
【BS2】.NET 6 最新アップデート
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
.NET Coreとツール類の今
.NET Coreとツール類の今
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET CoreアプリでWindowsの外に出発
.NET CoreアプリでWindowsの外に出発
ここが良かったDatadog
ここが良かったDatadog
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
基盤の改善から既存アプリケーションの改善
基盤の改善から既存アプリケーションの改善
Team Foundation Server/Visual Studio Onlineアップデート(2015/07/22)
Team Foundation Server/Visual Studio Onlineアップデート(2015/07/22)
複数言語に触れてIoTの表現の幅を広げよう
複数言語に触れてIoTの表現の幅を広げよう
Silverlightを囲む会in大阪#19
Silverlightを囲む会in大阪#19
OSSコンソーシアム 開発基盤部会 2015年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2015年度 活動方針・部会紹介
Mais de keitasudo1
保守しやすいコードの反面教師 (アンチパターン) その1
保守しやすいコードの反面教師 (アンチパターン) その1
keitasudo1
プログラミングの型や定石の紹介
プログラミングの型や定石の紹介
keitasudo1
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
keitasudo1
Windowsアプリ開発の実務で使うUnitTest
Windowsアプリ開発の実務で使うUnitTest
keitasudo1
推し技術書「ユースケース駆動開発実践ガイド」
推し技術書「ユースケース駆動開発実践ガイド」
keitasudo1
.NETのTuple応用チャレンジ WCFとC++/CLI
.NETのTuple応用チャレンジ WCFとC++/CLI
keitasudo1
Mais de keitasudo1
(6)
保守しやすいコードの反面教師 (アンチパターン) その1
保守しやすいコードの反面教師 (アンチパターン) その1
プログラミングの型や定石の紹介
プログラミングの型や定石の紹介
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
WCFのパイプ通信を .NET 5に向けてgRPCへ置き換える話
Windowsアプリ開発の実務で使うUnitTest
Windowsアプリ開発の実務で使うUnitTest
推し技術書「ユースケース駆動開発実践ガイド」
推し技術書「ユースケース駆動開発実践ガイド」
.NETのTuple応用チャレンジ WCFとC++/CLI
.NETのTuple応用チャレンジ WCFとC++/CLI
Windowsサービスも.NET Coreで作ろう
1.
Windowsサービスも .NET Coreで作ろう 2020/7/29 須藤圭太 1
2.
自己紹介 ID:suusanex( connpass・Twitter・GitHub共通)
名前:須藤圭太 サイエンスパーク株式会社という独立系ソフトウェアベンダーに所属 4年ほど受託開発で、上流から下流まで全部を回す ここ6年ほどは、自社製品開発を担当 Windowsアプリ開発のネタが多い 勉強会もやってます、最近はオンラインで
3.
今日の内容 • そろそろ.NET Core •
Webアプリ(ASP.NET Core)の情報はたくさんある • しかしデスクトップ開発では、Windowsサービスだってまだまだ現役 • .NET CoreでのWindowsサービスの作り方は? 3
4.
Windowsサービスの種類 C++ ATL .NET
FW .NET Core 特徴 最古。C++もしく はC++/STLなので 生産性低。 .NETで生産性↑ Windowsサービス 特化。 より開発しやすく Webサーバー等と の統合 必要ライブラリ VC++ランタイム .NET FW .NET Core インストール方法 CreateService .NET FW用インス トーラ CreateService 4
5.
.NET Coreで作るWindowsサービス 作り方のポイントを見せながら、優れている点をざっと解説します 5
6.
サービスのテンプレートを選択 • .NET Coreの場合は、「Worker
Service」を使用する • VS2019のバージョンが少し古いと出てこない場合があるので、要アップデート 6
7.
ただのワーカーとしてデバッグ可能 • この時点で、サービスではないがコンソールアプリとして起動可能 • デバッグに便利
8.
Windowsサービス化:NuGet • Windowsサービスとして使えるようにしていく • まず、Hostingの拡張をNuGetで追加 8
9.
Windowsサービス化:コード追加 • テンプレートに入っているIHostBuilderのコードに • 次の1行を追加 •
完成! 9 public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureServices((hostContext, services) => { services.AddHostedService<Worker>(); }); .UseWindowsService()
10.
IHostBuilderとは • (大雑把な理解として) • プロセスの下で動くもの(Windowsサービス、Webサーバー、ロガーなど)を すべて同じI/Fで束ねる •
それらのDIや、共通のライフタイム管理を実現 • 正確なところはMSへ • https://docs.microsoft.com/ja-jp/aspnet/core/fundamentals/host/generic- host 10
11.
IHostBuilderの便利なところ:複数ホス トの管理 • 例えば、WindowsサービスとgRPCのホスト(サーバー)を同じプロセスで持ちたい • CreateHostBuilderで両方を入れるだけ •
同じI/Fでまとめてホストし、まとめて開始・終了処理をやってくれる 11 public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureServices((hostContext, services) => { services.AddHostedService<Worker>(); }) .UseWindowsService() //ここまでがWindowsサービス .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseUrls("http://localhost:51232"); webBuilder.UseStartup<Startup>(); }); //ここまでがgRPC
12.
IHostBuilderの便利なところ:その他 • 組み込みのDIコンテナがあり、さっそくサービス全体で使える • 組み込みでLoggerをまとめる仕組みがあり、Nlogなどを追加できる 12
13.
まとめ • .NET CoreでもWindowsサービスは作れる •
むしろ、.NET Frameworkより進化している • デスクトップアプリも可能なところは.NET Coreへの対応を模索していきま しょう 13
Baixar agora