PDA

View Full Version : Windows Service



Legend M.A.R
چهارشنبه 21 مرداد 1388, 10:18 صبح
با عرض سلام
می خواستم بدونم چطوری می تونم از Windows Service که خودم ساختم استفاده کنم
به عنوان مثال اگر من این (http://www.codeproject.com/KB/system/WindowsService.aspx) سرویس را ایجاد کرده باشم چطوری در یک برنامه دیگر از این سرویس می تونم استفاده کنم؟

bill_geits
چهارشنبه 21 مرداد 1388, 14:09 عصر
من خودم در برنامه هايي كه استفاده كردم نتيجه كار يه سرويس ويندوزي رو در يك ساختار داخل فايل ذخيره ميكنم و بعد در برنامه ي WinApp از اون فايل استفاده ميكنم.

SabaSabouhi
شنبه 24 مرداد 1388, 08:30 صبح
با عرض سلام

می خواستم بدونم چطوری می تونم از Windows Service که خودم ساختم استفاده کنم
به عنوان مثال اگر من این (http://www.codeproject.com/KB/system/WindowsService.aspx) سرویس را ایجاد کرده باشم چطوری در یک برنامه دیگر از این سرویس می تونم استفاده کنم؟


با سلام
Windows Service مثل یک Assembly نیست که متدهای قابل فراخوانی داشته باشه. اگه بخواهید با آن ارتباط بر قرار کنید، تنها راه استفاده از متد ExecuteCommand از شیء ServiceControler شما هست با پارامتیر command که یک مقدار عددی بین 128تا 256 هست.



ServiceController sc = new ServiceController("NameOfService");
sc.ExecuteCommand(command);



با فراخوانی این متد رویداد OnCustomCommand در سرویس فعال می‌شود.
محدودیت مهم عدم امکان ارسال اطلاعات بین برنامه و سرویس هست که شما می‌توانید با استفاده از Registry ( به شرط این که از LocalMachine استفاده شود و یا با کاربر یکسان ) و یا استفاده از یک Database مشترک این مشکل رو حل کنید.

صبا صبوحی

tdkhakpur
شنبه 24 مرداد 1388, 13:22 عصر
راه های زیادی دارد میتوانید از کامپوننتهای ایندی و سایر ابزار های به عنوان کلاینت به این سرویس وصل شده و تقاضا ها را انجام بدید(با ارسال فرمانهای شخصی).
البته یرویس را هم باید به حالت کلی برنامه نویسی کرده باشید.