تور لحظه آخری
امروز : شنبه ، 19 آبان 1403    احادیث و روایات:  امام صادق (ع):هر که خدا رابشناسد ترس او در دلش می افتد و هر از خدا ترسان باشد نفسش از دنیا باز ...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

قیمت پنجره دوجداره

بازسازی ساختمان

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

اوزمپیک چیست

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

نگهداری از سالمند شبانه روزی در منزل

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

چراغ خطی

 






آمار وبسایت

 تعداد کل بازدیدها : 1827788713




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

چگونه يك سرويس ويندوز بسازيم؟


واضح آرشیو وب فارسی:سایت ریسک: View Full Version : چگونه يك سرويس ويندوز بسازيم؟ rtech9th August 2008, 11:05 AMاشاره : سرويس هاي ويندوز به ما امكان اجراي رويه‌هايي در پس‌زمينه يا Background سيستم را مي‌دهد. با كمك سرويس‌هاي ويندوز مي‌توانيم تكاليفي مانند كنترل استفاده از پايگاه‌داده را انجام دهيم. قابل توجه اين‌كه، سرويس‌هاي ويندوز در فضاي مخصوص به خود اجرا مي‌شوند و به فعاليت ادامه مي‌دهند تا كاربر يا كامپيوتر آن سرويس را غير فعال يا به اصطلاح خاموش كند. اين مقاله ابتدا در مورد سرويس‌هاي ويندوز بحث خواهد كرد. سپس چگونگي ساخت سرويس‌هاي ويندوز در دات‌نت آموزش داده خواهد شد و چگونگي كنترل كردن Log و Eventها در اين برنامه‌ها مورد بررسي قرار خواهد گرفت. پس از آن، روش نصب ويندور سرويس‌ها نشان داده خواهد شد و چگونگي مديريت آن‌ها مورد بررسي قرار خواهد گرفت. بررسي مديريت سرويس‌هاي ويندوز در دات نت‌ سرويس‌هاي ويندوز سرويس‌هاي ويندوز، سرويس‌ها و رويه‌هايي هستند كه در پس زمينه سيستم اجرا مي‌شوند و چون نيازي به ارتباط با كاربر ندارند، هيچ رابط كاربري ندارند. سرويس‌هاي ويندوز را مي‌توان روي ويندوزهاي 2000، XP و NT اجرا نمود. معمولاً سرويس‌هاي ويندوز كارهايي مانند چك كردن ارتباط شبكه و دسترسي كاربران را به عهده دارد. براي اين‌كه سرويس‌هاي ويندوزي كه در دستگاه شما وجود دارد را مشاهده كنيد، به Start>Controlpanel>Administrative Tools برويد و آيكون Services را كليك كنيد. شكل 1 پنجره مربوط به سرويس‌ها را نشان مي‌دهد. کاربران ثبت نام کرده قادر به مشاهده لینک می باشند شکل 1 سرويس ويندوز كه در رجيستري نصب مي‌شود، يك شيء اجرا شدني است و توسط مدير كنترل سرويس‌ها يا‌ 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 را كه ساخته‌ايم، نشان مي‌دهد. کاربران ثبت نام کرده قادر به مشاهده لینک می باشند شکل 2 هر يك از مشخصه‌هاي اين سرويس را كه بخواهيم، مي توانيم در اين قسمت تغيير دهيم. براي افزودن قابليت جديد به برنامه سرويس ويندوزي كه درست كرده‌ايم، بايد متدهاي OnStart و OnStop اين سرويس‌ها را دستكاري كنيم. مثلاً مي‌توانيم بگوييم هر وقت سرويس شروع شد، فايلي متني بسازد و متني را در آن بنويسد و وقتي كه سرويس متوقف شد، فايل متني ديگري بسازد و متني را در آن بنويسد. کاربران ثبت نام کرده قادر به مشاهده لینک می باشند شکل 3 براي اين كار كدهاي شكل 4 را مي‌نويسيم. حال سرويس ما درست شده است، ولي نمي‌توان آن را اجرا نمود. چون همان‌طور كه قبلاً نيز ذكر شد، سرويس بايد نصب گردد. پشتيباني سرويس‌هاي ويندوز از ‌Event‌هاي مختلف‌ سرويس‌هاي ويندوز از چهار Event مختلف پشتيباني مي‌كنند: ˜ Start: وقتي سرويس با استفاده از ‌SCM شروع به كار كرد، Event سرويس Start مي‌شود و سيستم فايل اجرايي را مشخص كرده و متد OnStart برنامه اصلي را اجرا مي‌كند. ˜‌ Stop: وقتي كه سرويس متوقف مي‌گردد. ˜‌ Pause: توقف موقت سرويس ˜ Continue: ادامه كار سرويس يك سرويس ويندوز مي‌تواند كارهاي زيادي انجام دهد و Eventهاي مختلفي را كنترل نمايد. مثلاً تغيير در قدرت دستگاه را پيدا كند و Log كردن اطلاعاتي مانند تغيير در موقعيت سرويس‌ها را انجام دهد. همچنين مي‌توان كارايي سيستم را با استفاده از Performance Counters چك نمود. براي اين‌كه بتوانيم اتفاقاتي كه در سيستم پيش مي‌آيد را جمع‌آوري كنيم و به قول معروف Log كنيم، مي‌توانيم از System Event log استفاده كنيم. با استفاده از اين لوگ‌ها مي‌توانيم اطلاعاتي مانند خرابي سرويس‌ها، كمبود حافظه سيستم يا توقف سرويس‌ها در دست را داشته باشيم. براي استفاده از اين ابزار مي‌توانيم كامپوننت EventLog براي ثبت اطلاعات استفاده كنيم. کاربران ثبت نام کرده قادر به مشاهده لینک می باشند مثلاً مي‌توانيم با استفاده از متد WriteEntry در EventLog اتفاقات را در سرويس خود ثبت كنيد. به عنوان مثال كد زير به EventLog مي‌گويد كه سرويس مورد نظر شروع شده است: ("this.eventLog1.WriteEntry ("Service 1 started کاربران ثبت نام کرده قادر به مشاهده لینک می باشند شکل 5 يكي ديگر از ابزارهايي كه مي‌توانيم در سرويس‌هاي ويندوز از آن استفاده كنيم، Performance Counters است كه كارايي برنامه‌هايي ما را سنجش مي‌كند. براي استفاده از اين ابزار از كلاس System.Diagnostics.PerformanceCounter استفاده مي‌كنيم. با استفاده از اين كلاس مي‌توانيم اطلاعات كارايي برنامه و سيستم را جمع‌آوري و تحليل نماييم. براي استفاده از اين ابزار به Server Explorer برويد و سرور مورد نظر كه نام دستگاه شما است (در اين مثال AMIN) را انتخاب كنيد و مطابق شكل 5، Performance Counter مورد نظر خود را انتخاب نماييد. مثلاً در اين مثال از شاخه batteryStatus ،ChargeStatus را انتخاب مي‌كنيم و با ماوس آن را به Service خود اضافه مي‌كنيم. وقتي اين سرويس را اضافه مي‌كنيم، performanceCounter 1 توليد مي‌گردد. نصب سرويس ويندوز حال كه سرويس ويندوز را ساختيم، نوبت به نصب آن مي‌رسد. براي اين ‌كار بايد ابتدا يك كلاس Installerبسازيم. اين كلاس در System.Configuration.Install.Installerقرار دارد. نكته قابل اهميت اين است كه Installer بايد براي تمام اجزاي سرويس اجرا شود و به آن اضافه گردد. براي اين‌ كار روي هر يك از اين اجزا مي‌رويم و راست كليك مي‌كنيم و همان‌طور كه در شكل 6 مشخص شده است، منويي باز خواهد شد كه داراي گزينه Add installerاست. سيستم سپس فايل ProjectInstaller را مي‌سازد كه داراي حداقل 2 سرويس است. ابتدا روي ServiceInstaller 1برويد و در Properties آن StartType را به صورت خودكار در آوريد. سپس روي ServiceInstaller 1 رفته و در Properties آن نوع Account را LocalSystem انتخاب نماييد. کاربران ثبت نام کرده قادر به مشاهده لینک می باشند شکل 6 بعد از اين‌ كار پروژه را كامپايل نماييد. اگر اشكالي در برنامه شما نباشد، سيستم به شما اعلان مي‌كند كه فايل اجرايي پروژه را نصب كنيد. براي نصب اين فايل اجرايي به Visual Studio 2005 Command Prompt برويد و مطابق شكل 7 دستور installutil را به همراه نام فايل و مسير آن اجرا نماييد تا سرويس مورد نظر ساخته شود (شكل 8). براي حذف سرويس مي‌توانيد از همان دستور، ولي به صورت installutil /u استفاده كنيد. کاربران ثبت نام کرده قادر به مشاهده لینک می باشند شکل 7 کاربران ثبت نام کرده قادر به مشاهده لینک می باشند شکل 8 كنترل سرويس ويندوز به كمك دات‌نت‌ Service Control Manager) SCM) در واقع چند كار انجام مي‌دهد: ÷‌ تغيير حالت سرويس ÷‌ تعيين چگونگي شروع يك سرويس ÷‌ تعيين وضعيت برگشت سرويس (در صورتي كه نتوانست كار كند). ÷‌ تعيين كاربر براي آن سرويس‌ ÷‌ نمايش سرويس‌هاي وابسته به سرويس‌ دات‌نت با ارايه كلاس ServiceController كارهاي SCM را انجام مي‌دهد. جدول 1 متدهاي اين كلاس را به همراه كارايي هر يك نشان مي‌دهد: کاربران ثبت نام کرده قادر به مشاهده لینک می باشند شکل 9 کارايي نام متد قطع ارتباط نمونه کلاس ServiceController از سرويس و بازگرداندن منابع Close ادامه کار سرويس پس از توقف يا pause Continue اجراي دستورات خاص در يک سرويس ExecuterCommand توقف موقت سرويس Pause بازآوري اطلاعات سرويس Refresh شروع به کار سرويس Start متوقف کردن سرويس Stop جدول 1 براي كنترل كردن سرويس‌ها بايد از طريق برنامه‌هاي خود اين كار را انجام دهيم. مثلاً براي كنترل سرويس Service1كه به تازگي ساختيم، يك برنامه Windows مي‌سازيم و از قسمت Service Explorer، نام دستگاه، قسمت سرويس‌ها را انتخاب مي‌كنيم و Service1 را به داخل فرم ويندوز خود مي‌آوريم و با كمك دو دكمه همان‌طور كه در شكل 9 مشاهده مي‌كنيد، مي‌توانيم سرويس را راه‌اندازي يا متوقف نماييم. براي دريافت كدهاي اين مقاله به قسمت دريافت فايل وب سايت ماهنامه مراجعه فرماييد. امين صفايي ماهنامه شبکه سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 705]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن