→その正体は S/人/謎の着物着付け師(見習い)/

Slides:



Advertisements
Similar presentations
InstallShieldLecture InstallShield でインストーラを作成する方法 ( 初級編 ) ソニーエンジニアリング 設計 3 部 1 課 齋藤佑輔.
Advertisements

特別支援教育で使える PowerPoint の活用法 研修 最低限必要なスキルはこれでバッチリ!! ICT 活用支援員 高松 崇.
SSP in a Nutshell #1.5 最近の新機能よせあつめ
イベント イベント: マウスの操作、キーボードの操作、ファイル操作など システムやユーザーからの入力・出力のこと
Visual Studio 2010 の新機能 Coded UI Test
WinDBG6によるRTX5.5デバッグ RTX開発環境 WinDBG6.0 debugモードで起動 232Cクロスケーブル
PHP AV(Audio Visual) 拡張 クライアントサイド PHP アプリケーションPHP
Windows HPC Server を使ってみる
PROCESS 14:一般情報(2) InstallShieldLecture
PHP AV(Audio Visual) 拡張 PHP asアプリケーション
IT講習会 MicrosoftWord(2007ver.)編 (Wed) Edited by KON
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
Lync 会議 Lync 会議に参加する Lync 2013 クイック リファレンス Lync 会議のスケジュール
ファイルやフォルダを検索する ①「スタート」→「検索」→「ファイルとフォルダ」とクリックする。
PCの情報を得る - 「システム情報」 ①「スタート」→「すべてのプログラム」→「アクセサリ」→「システム ツール」→「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
SharePoint Server において 構成ウィザードが失敗する場合の トラブルシューティング
Win32APIとMFC H107102 古田雅基 H107048 佐藤一樹 H107126 山下洋平.
CODE::BLOCKSで 無料で簡単 Windowsアプリ開発
マルチプラットフォーム対応 P2Pファイル共有ソフトの開発
C#によるWindowsFormApplication入門
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
アプレット (Applet)について.
VBA H106077 寺沢友宏.
リサーチ&プランニング 第4回情報処理の自動化、エージェント化
MSBuild 色々出来るよ 2011/04/02 お だ.
PowerPoint初級編 院内研究発表入門.
情報工学科 二宮 洋・鈴木 誠 小林 学・高畠俊徳 火曜日 1コマ目
Cygwin の install.
サーバー立ち上げ記 2009/5/23
Linux リテラシ2006 第6回 デーモン CIS RAT.
3 Macintoshの基本操作(3) 3.1 エイリアス エイリアスを作る ファイルなどの分身となるファイル アイコンを選択
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
Microsoft Visual Studio 2005 の使い方
≅ ≰ ≳ ≗ ≲ ≩ ≴ ≥ ver manual Tanaka.
Windows Azure (CTP) 触ってみた
Microsoft MVP for Development Tools – Visual C++
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
Windows PowerShell Cmdlet
R流・C#マルチスレッドの復讐 2009年05月16日 R・田中一郎
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
Microsoft MVP for Development Tools – Visual C++
平成19年10月19日 図書系のための アプリケーション開発講習会
片桐 継(かたぎり つぐ)は梅雨時も怪しい 着物たんぶら:
片桐を知るためのキーワード SandCastle日本語版 マルチスレッドやまたのおろち スレッドプールはキャンセルできない
コンピュータ概論B ー ソフトウェアを中心に ー #02 システムソフトウェアと アプリケーションソフトウェア
0.2 プロジェクトの準備 DXライブラリを使うための準備.
スイッチを入れる前に… 講習を受けていない人は、まだスイッチを入れないこと。 まず講習を受けてセットアップを行ってください 注意.
Windows Azure (CTP) 触ってみた
Visual Studio 2005の使用方法 新入生セミナー 
インタラクティブ・ゲーム制作 プログラミングコース 補足資料
Microsoft MVP for Development Tools – Visual C++
≅ ≰ ≳ ≗ ≲ ≩ ≴ ≥ ver manual Tanaka.
~目次~ Ⅰ.動作環境 Ⅱ.ファイルのダウンロード Ⅲ.システムのインストール Ⅳ.初期設定 Ⅴ.アンインストール
高度プログラミング演習 (01).
第1章 いよいよプログラミング!! ~文章の表示 printf~
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
→その正体は S/人/謎の着物着付け師(見習い)/
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
片桐 継(かたぎり つぐ)は梅雨時も怪しい 着物たんぶら:
本当は消去できていない!? ~データを完全消去する方法~
本当は消去できていない!? ~データを完全消去する方法~
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
標準入出力、変数、演算子、エスケープシーケンス
Visual Studio 2013 の起動と プロジェクトの新規作成 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
ビデオ ビデオのクイック リファレンス ビデオ コントロールを使って表示する Lync 2013 クイック リファレンス
プロジェクト演習Ⅱ インタラクティブゲーム制作
第0.5回: ~Unity Editorの操作方法~
Presentation transcript:

→その正体は S/人/謎の着物着付け師(見習い)/ 片桐継(カタギリツグ)はいつも怪しい 片桐を知るためのGoogleキーワード SandCastle日本語版 マルチスレッドやまたのおろち スレッドプールはキャンセルできない わんくまハムスター 創世のカタギリオン 一万件と二千件あっても動いてる~♪ →その正体は S/人/謎の着物着付け師(見習い)/

Agenda Windowsサービスって何? Windowsサービス作りに大切なこと .Netの世界のWindowsサービス まとめ

→要するに何もしなくてもスイッチいれてOSが立ち上がったら勝手に動いてるプログラム Windowsサービスって何? Microsoft Windows オペレーティングシステム (OS) で長時間動作し、ユーザーとのやりとり無しで特定機能を実行するものである。WindowsサービスはOSのブート時に起動するよう設定でき、Windows が動作中はずっとバックグラウンドで動作する。あるいは、手動で要求したときに動作するようにも設定できる(By Wikipedia) →要するに何もしなくてもスイッチいれてOSが立ち上がったら勝手に動いてるプログラム →PC触っている分には動いているのが見えないので、何やってんのかさっぱり判らないプログラム

「管理ツール」の「サービス」をクリックするとでてきます どこで判るの? 「管理ツール」の「サービス」をクリックするとでてきます

他にも、net コマンド(他のPCのサービス用) や sc コマンド(自分のPCのサービス用)なんかでもできる どうやって動かすの? サービスの開始 サービス画面で開始ボタン サービスの停止 サービス画面で停止ボタン 他にも、net コマンド(他のPCのサービス用) や sc コマンド(自分のPCのサービス用)なんかでもできる

Windowsサービスの動く仕組みを見てみよう その正体は? Exe形式のプログラムアプリケーション でも、どんなexeでもいいのかというとそうじゃない コンソール画面が使えない Formが使えない プロセス停止すると復旧させる手段がない PC再起動が一般的 Windowsサービスの動く仕組みを見てみよう

Windowsサービスの動く仕組み OS この間には越えられない絶対的な壁がある 普段、私たちはこっちを操作 こっちでなにやってるかはサッパリ判らない 窓口経由でないと、何も指示できない サービス コントロール アプリケーション アプリケーション サービスアプリ OS この間には越えられない絶対的な壁がある

Windowsサービスサービス作りに大切なこと 知っておきたいキーワード イベントログ(イベントビューア) アプリケーション応答制限時間

サービスの動作のログを書き込みます サービスの開始と停止の情報を自動的に書かせることができます イベントログ(イベントビューア) サービスの動作のログを書き込みます サービスの開始と停止の情報を自動的に書かせることができます どの権限で動作しても、サービスプログラムから自由に書き込む事ができる場所です

サービスコントローラからイベント通知されると、、30秒以内にプロセスが応答(イベント処理終了通知)をしなければなりません。 アプリケーション応答制限時間 サービスコントローラからイベント通知されると、、30秒以内にプロセスが応答(イベント処理終了通知)をしなければなりません。 30秒以内に通知に対する応答がないと、サービスは例外と判断、プロセスを強制停止します。 つまり、窓口で顧客から何かを依頼されたら、中の人は30秒以内に窓口に返答をしなくてはなりません。 中の人が窓口にお願いされてから、他の人に「これお願いね」と頼んで、窓口に「お願いしといたよー」と返事するだけでもOK

.NetFrameworkの世界のWindowsサービス クラス関係図 アプリケーションの登録 ServiceControllerクラス イベントの通知・監視 サービスアプリケーション ServiceBaseクラス ServiceInstallerクラス

ServiceControllerからServiceBaseへイベント通知できる クラス間の微妙な力関係 ServiceControllerからServiceBaseへイベント通知できる ServiceControllerはServiceBaseの動きを監視できる ServiceBaseからServiceControllerへの通知・監視・制御はできない(推奨されていない) ServiceInstallerは、サービスをインストールする時にだけ必要なクラス(実行には不要)

.Netで作ったServiceが動くまでに必要な手続き ビルドしたExeをServiceInstallerがサービスに登録 ServiceControllerクラスからそのアプリケーションを起動 以下、ServiceBaseクラスのお仕事 プロセス開始時にInitializeメソッドが動き、インスタンスを作成 通知イベントに応答するためにMTA(マルチスレッドアパートメント)でプロセスをスタート 開始通知イベントに応答→応答処理完了 ServiceBaseクラスのお仕事は30秒以内 ServiceControllerがサービスのスタートを確認 30秒以内に応答なければ失敗と判断

ServiceBaseクラスを継承して作ります。 作ってみるWindowsサービス ServiceBaseクラスを継承して作ります。 サービスアプリケーション自身を作る場合にはServiceControllerは使いません。

これらのメソッドは必ず30秒以内に終了できるように(ry 作るときのキーワード まずはこの二つのメソッドを覚えよう OnStart 開始ボタンで通知されてくるイベント できること モニター用スレッドの起動/待機用スレッドの起動 してはいけないこと サービスプロセスの停止/プロセスの強制終了/時間のかかるループ処理、同期処理 OnStop 停止ボタンで通知されてくるイベント 子スレッドの停止/サービスプロセスの停止/プロセスの強制終了 サービスプロセスの継続 これらのメソッドは必ず30秒以内に終了できるように(ry

まずは新規プロジェクトを作成 コレを選択

こういうのが出来上がる ↑ クリック

こんなカンジのを作ってみた START 10分ごとに イベントログに 書込み END 通知 プロセス 終了 スレッド起動

いつものように動かそうと「▼実行」すると どうやって動かすの? いつものように動かそうと「▼実行」すると サービスプログラムは、インストーラーを使ってサービスに登録してからでないとVisualStudio上でデバッグできません

サービスインストーラを設定する ①右クリック ②プロパティを指定して サービス設定を追加 ③設定できたらビルド

InstallUtil.exeを使ってインストール インストールしてみよう MSIを作ってインストール セットアッププロジェクトを作ってインストール、楽 インストール情報を変えたいときに面倒 InstallUtil.exeを使ってインストール 実行パス指定が面倒 置換えが楽 SCバッチコマンドでインストール コマンド文字列が長くて作るのが面倒

VisualStadioからアタッチしよう どうやってデバッグするの? VisualStadioからアタッチしよう コレを選んで「アタッチ」ボタン

.NetFrameworkによって、サービスアプリケーション開発はぐっと楽になった まとめ .NetFrameworkによって、サービスアプリケーション開発はぐっと楽になった けれど開発する上で制限、キーワード、クラス関係の理解は必須 使い方や用途は色々とあります。ぜひ、挑戦してみてね!

Windows サービス アプリケーション(MSDN) 参考資料 Windows サービス アプリケーション(MSDN) http://msdn.microsoft.com/ja-jp/library/y817hyb6(VS.80).aspx Visual C# in a Windows Service application for a setup project create to how http://support.microsoft.com/kb/816169/ja VB.net Windowsサービス開発テクニック(CQ出版) ISBN4-7898-1837-3 Programming Windows Services with Microsoft Visual Basic 2008 (microsoft press) ISBN13-978-0-7356-2433-7 ISBN10-0-7356-2433-X