MAHDIAR
1st May 2010, 01:35 PM
اشاره :
سرويس هاي ويندوز به ما امكان اجراي رويههايي در پسزمينه يا Background سيستم را ميدهد. با كمك سرويسهاي ويندوز ميتوانيم تكاليفي مانند كنترل استفاده از پايگاهداده را انجام دهيم. قابل توجه اينكه، سرويسهاي ويندوز در فضاي مخصوص به خود اجرا ميشوند و به فعاليت ادامه ميدهند تا كاربر يا كامپيوتر آن سرويس را غير فعال يا به اصطلاح خاموش كند. اين مقاله ابتدا در مورد سرويسهاي ويندوز بحث خواهد كرد. سپس چگونگي ساخت سرويسهاي ويندوز در داتنت آموزش داده خواهد شد و چگونگي كنترل كردن Log و Eventها در اين برنامهها مورد بررسي قرار خواهد گرفت. پس از آن، روش نصب ويندور سرويسها نشان داده خواهد شد و چگونگي مديريت آنها مورد بررسي قرار خواهد گرفت.
بررسي مديريت سرويسهاي ويندوز در دات نت
سرويسهاي ويندوز
سرويسهاي ويندوز، سرويسها و رويههايي هستند كه در پس زمينه سيستم اجرا ميشوند و چون نيازي به ارتباط با كاربر ندارند، هيچ رابط كاربري ندارند. سرويسهاي ويندوز را ميتوان روي ويندوزهاي 2000، XP و NT اجرا نمود.
معمولاً سرويسهاي ويندوز كارهايي مانند چك كردن ارتباط شبكه و دسترسي كاربران را به عهده دارد. براي اينكه سرويسهاي ويندوزي كه در دستگاه شما وجود دارد را مشاهده كنيد، به Start>Controlpanel>Administrative Tools برويد و آيكون Services را كليك كنيد. شكل 1 پنجره مربوط به سرويسها را نشان ميدهد.
شکل 1
http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_Windows01_s.jpg
سرويس ويندوز كه در رجيستري نصب ميشود، يك شيء اجرا شدني است و توسط مدير كنترل سرويسها يا SCM يا Service Control Manager مديريت ميشود.
SCM سروري است كه متدها را از راه دور فرا ميخواند و به اصطلاح RPC يا Remote Procedure Call است و از مديريت محلي و از راهدور سرويسها پشتيباني ميكند.
يكي از قابليتهاي داتنت وجود كلاسهايي در آن است كه ميتوان با استفاده از آنها سرويسهاي ويندوز را ساخته و آنها را مديريت نماييم (SystemServiceProcess).
اجزاي معماري سرويسهاي ويندوز
معماري سرويسهاي ويندوز از سه جزء تشكيل شده است:
ìService Control Manager) SCM): با استفاده از اين بخش ميتوان سرويسها را كنترل نمود.
ìService Controller Application) SCA): با استفاده از اين بخش ميتوان رفتارهاي سرويس را كنترل كرد.
ìService Application) SA): اين بخش از يك تا چند سرويس تشكيل شده است.
براي ساخت سرويس ويندوز در داتنت ميتوانيم از متدهاي كلاس ServiveBase استفاده كنيم. وقتي كه اين سرويس ساخته شد، بايد در رجيستري ثبت و نصب شود (با استفاده از كلاسهاي ServiceInstaller و ServiceProcessInstaller) وقتي سرويس نصب شد، با استفاده از كلاسهاي SCA و SCM ميتوان سرويس را آماده به كار يا خاموش نمود.
وقتي سرويسي در سيستمي شروع به كار نمود، ميتواند چندين حالت داشته باشد. در حال كار باشد، موقتاً كار نكند، يا خاموش باشد. حالت ديگري كه ممكن است براي سرويسي به وجود آيد، Pending است كه وقتي به وجود ميآيد كه دستوري مانند دستور توقف موقت صادر شود، ولي هنوز كامل نشده است.
تفاوت سرويسهاي ويندوز در داتنت با برنامههاي ديگر
سرويسهاي ويندوز در داتنت تفاوتهايي با برنامههاي ديگر داتنت دارند:
ïبر خلاف پروژههاي معمول داتنت، برنامههاي سرويسها بايد حتماً نصب گردد.
ï بر خلاف پروژههاي معمول داتنت كه پنجرههاي ديالوگ نمايان است، پنجرههاي سرويسها قابل ديدن نيست.
ï بر خلاف پروژههاي معمول داتنت كه ميتوان با استفاده از كليدهاي F5 يا F11 برنامهها را اشكاليابي كرد، در سرويسهاي ويندوز ابتدا بايد آنها را درست كرد. سپس آن را نصب و شروع به كار كرد. سپس يك اشكالياب به آن متصل كنيم.
ساخت سرويس ويندوز
براي ساخت يك سرويس ويندوز در داتنت يك پروژه جديد ايجاد كنيد و همانطور كه در شكل 2 مشخص شده است، نوع پروژه را Windows Service انتخاب نماييد و پروژه را بسازيد. شكل 3، properties برنامه Service 1 را كه ساختهايم، نشان ميدهد.
http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_Windows02_s.jpg
سرويس هاي ويندوز به ما امكان اجراي رويههايي در پسزمينه يا Background سيستم را ميدهد. با كمك سرويسهاي ويندوز ميتوانيم تكاليفي مانند كنترل استفاده از پايگاهداده را انجام دهيم. قابل توجه اينكه، سرويسهاي ويندوز در فضاي مخصوص به خود اجرا ميشوند و به فعاليت ادامه ميدهند تا كاربر يا كامپيوتر آن سرويس را غير فعال يا به اصطلاح خاموش كند. اين مقاله ابتدا در مورد سرويسهاي ويندوز بحث خواهد كرد. سپس چگونگي ساخت سرويسهاي ويندوز در داتنت آموزش داده خواهد شد و چگونگي كنترل كردن Log و Eventها در اين برنامهها مورد بررسي قرار خواهد گرفت. پس از آن، روش نصب ويندور سرويسها نشان داده خواهد شد و چگونگي مديريت آنها مورد بررسي قرار خواهد گرفت.
بررسي مديريت سرويسهاي ويندوز در دات نت
سرويسهاي ويندوز
سرويسهاي ويندوز، سرويسها و رويههايي هستند كه در پس زمينه سيستم اجرا ميشوند و چون نيازي به ارتباط با كاربر ندارند، هيچ رابط كاربري ندارند. سرويسهاي ويندوز را ميتوان روي ويندوزهاي 2000، XP و NT اجرا نمود.
معمولاً سرويسهاي ويندوز كارهايي مانند چك كردن ارتباط شبكه و دسترسي كاربران را به عهده دارد. براي اينكه سرويسهاي ويندوزي كه در دستگاه شما وجود دارد را مشاهده كنيد، به Start>Controlpanel>Administrative Tools برويد و آيكون Services را كليك كنيد. شكل 1 پنجره مربوط به سرويسها را نشان ميدهد.
شکل 1
http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_Windows01_s.jpg
سرويس ويندوز كه در رجيستري نصب ميشود، يك شيء اجرا شدني است و توسط مدير كنترل سرويسها يا SCM يا Service Control Manager مديريت ميشود.
SCM سروري است كه متدها را از راه دور فرا ميخواند و به اصطلاح RPC يا Remote Procedure Call است و از مديريت محلي و از راهدور سرويسها پشتيباني ميكند.
يكي از قابليتهاي داتنت وجود كلاسهايي در آن است كه ميتوان با استفاده از آنها سرويسهاي ويندوز را ساخته و آنها را مديريت نماييم (SystemServiceProcess).
اجزاي معماري سرويسهاي ويندوز
معماري سرويسهاي ويندوز از سه جزء تشكيل شده است:
ìService Control Manager) SCM): با استفاده از اين بخش ميتوان سرويسها را كنترل نمود.
ìService Controller Application) SCA): با استفاده از اين بخش ميتوان رفتارهاي سرويس را كنترل كرد.
ìService Application) SA): اين بخش از يك تا چند سرويس تشكيل شده است.
براي ساخت سرويس ويندوز در داتنت ميتوانيم از متدهاي كلاس ServiveBase استفاده كنيم. وقتي كه اين سرويس ساخته شد، بايد در رجيستري ثبت و نصب شود (با استفاده از كلاسهاي ServiceInstaller و ServiceProcessInstaller) وقتي سرويس نصب شد، با استفاده از كلاسهاي SCA و SCM ميتوان سرويس را آماده به كار يا خاموش نمود.
وقتي سرويسي در سيستمي شروع به كار نمود، ميتواند چندين حالت داشته باشد. در حال كار باشد، موقتاً كار نكند، يا خاموش باشد. حالت ديگري كه ممكن است براي سرويسي به وجود آيد، Pending است كه وقتي به وجود ميآيد كه دستوري مانند دستور توقف موقت صادر شود، ولي هنوز كامل نشده است.
تفاوت سرويسهاي ويندوز در داتنت با برنامههاي ديگر
سرويسهاي ويندوز در داتنت تفاوتهايي با برنامههاي ديگر داتنت دارند:
ïبر خلاف پروژههاي معمول داتنت، برنامههاي سرويسها بايد حتماً نصب گردد.
ï بر خلاف پروژههاي معمول داتنت كه پنجرههاي ديالوگ نمايان است، پنجرههاي سرويسها قابل ديدن نيست.
ï بر خلاف پروژههاي معمول داتنت كه ميتوان با استفاده از كليدهاي F5 يا F11 برنامهها را اشكاليابي كرد، در سرويسهاي ويندوز ابتدا بايد آنها را درست كرد. سپس آن را نصب و شروع به كار كرد. سپس يك اشكالياب به آن متصل كنيم.
ساخت سرويس ويندوز
براي ساخت يك سرويس ويندوز در داتنت يك پروژه جديد ايجاد كنيد و همانطور كه در شكل 2 مشخص شده است، نوع پروژه را Windows Service انتخاب نماييد و پروژه را بسازيد. شكل 3، properties برنامه Service 1 را كه ساختهايم، نشان ميدهد.
http://www.shabakeh-mag.com/Data/Gallery/2008/2/s78_Windows02_s.jpg