PDA

View Full Version : مقاله: نكاتي در مورد ايجاد Windows Service



kiarash_h18
چهارشنبه 23 اردیبهشت 1388, 11:54 صبح
نکاتی که در هنگام ايجاد يک Windows Service بايد در نظر گرفته شود:


دقت کنيد که برنامه های Windows Service بر خلاف پروژه های Windows Application و يا Console Application اجرا و يا Debug نمی شوند و برای استفاده از آنها بايد ابتدا Install شوند.


دقت کنيد که برنامه های Windows Service به هيچ عنوان User Interface ندارند.


قبل از نصب Windows Service بايد Installer های مناسب را در پروژه خود قرار دهيد. برای اين منظور زمانی که بر روی Service خود Double Click می نماييد، در صفحه Designer، پنجره Properties را باز کرده و سپس در فضای خاکستری Click کنيد. در پايين پنجره Properties گزينه Add Installer را انتخاب کرده و سپس بر روی تمامی Component های موجود در Designer، Click کرده (مانند Event Log و Performance Counter) و اين عمل را تکرار کنيد.


توجه داشته باشيد که برای Windows Service يک و فقط يک ServiceProcessInstaller بايد وجود داشته باشد که معمولا Property مربوط به Account آنرا برابر LocalSystem قرار می دهند.


به ازای هر Service ی که در Windows Service قرار می دهيد بايد يک و فقط يک ServiceInstaller وجود داشته باشد که بايد Property مربوط به Service Name آن دقيقا با نام Service يکسان باشد.


توصيه می شود که قبل از نصب Windows Service که يک فايل با فرمت اجرايی (.exe) می باشد، Solution Configuration پروژه را به حالت Release در آوريد.


برای Install کردن برنامه های Windows Service بهتر است که ابتدا به پوشه BIN و سپس Release رفته و فايل اجرايی آنها را در ريشه درايو C: کپی نماييد: C:\MyWindowsService.exe
سپس از مسير Visual Studio Tools < Microsoft Visual Studio 2005/2008 < All Programs < Start گزينه Visual Studio 2005/2008 Command Prompt را انتخاب نماييد. سپس در محيط Console برای نصب Windows Service از دستور : InstallUtil C:\MyWindowsService.exe استفاده نماييد.


دقت کنيد که برای Uninstall کردن Windows Service نيز بايد از دستور
InstallUtil C:\MyWindowsService.exe /u استفاده نماييد. دقت کنيد که قبل از u/ حتما از کاراکتر Space استفاده کنيد!

در صورتی که از Performance Counter و يا Event Log انتخابی استفاده می کنيد، از گزينه Add Installer استفاده نماييد. Installer ها در نسخه Visual Studio 2005 به طور خودکار Performance Counter و يا Event Log های شما را نصب و حذف می کنند.


در صورتی که از Performance Counter انتخابی استفاده می کنيد و در صورتی که بر روی رايانه شما Microsoft Windows Defender نصب می باشد، آنرا غير فعال نماييد.


توصيه می شود در صورتی که در Service خود (MyService) از Event Log دلخواه استفاده می کنيد، Property، AutoLog سرويس خود را False نماييد.


در صورتی که از Performance Counter انتخابی استفاده می کنيد، به خاطر داشته باشيد که گزينه Readonly آنرا False نماييد.


دقت کنيد که برای ظاهر کردن گزينه Add Installer، بايد ابتدا بر روی پنجره Properties دکمه سمت راست را زده و گزينه Commands را فعال نماييد.


در هنگام تعريف Event Log و يا Performance Counter، در صورتی که از گزينه های موجود آن استفاده نماييد، گزينه Add Installer غير فعال بوده و زمانی که در پنجره Properties اين دو Property های استاندارد آنها را تغيير می دهيد، گزينه Add Installer فعال می شود.


در تابع OnCustomCommand پارامتر ورودی بايد بين مقادير 128 تا 256 باشد.


اميدوارم كه اين مطلب براي عزيزان مثمر ثمر باشد.
در ضمن خوشحال ميشم اگه نظرتون را در مورد اين مطلب بفرمائيد.
موفق باشيد.

salehbagheri
چهارشنبه 23 اردیبهشت 1388, 11:59 صبح
دوست عزيز! خيلي سريع رفتي سراغ اصل مطلب! كمي هم توضيحات در مورد Windows Service اضافه كن!

kiarash_h18
شنبه 26 اردیبهشت 1388, 11:05 صبح
دوست عزيز! خيلي سريع رفتي سراغ اصل مطلب! كمي هم توضيحات در مورد Windows Service اضافه كن!

حتما در مورد Windows Service مطلب خواهم گذاشت، از دوستان هم اگر كسي مطلبي در مورد
Windows Service داره لطفا به اشتراك بذاره.

kiarash_h18
شنبه 16 خرداد 1388, 16:33 عصر
دوست عزيز! خيلي سريع رفتي سراغ اصل مطلب! كمي هم توضيحات در مورد Windows Service اضافه كن!

در اين تاپيك در مورد Windows Service مقاله اي ضميمه شده است.
لطفا ملاحظه بفرماييد.

http://barnamenevis.org/forum/showthread.php?t=163146

golihaghighi
جمعه 19 تیر 1388, 17:53 عصر
من یه سرویس نوشتم . می خوام که سرویس اتو استارت باشه ولی با اینکه تنظیمش کردم ولی نمیشه.

hooshe
دوشنبه 27 مهر 1394, 07:39 صبح
بسیار خوب بود چندین مورد رو نمی دونستم دستون درد نکنه