PDA

View Full Version : سوال: سوال در مورد Service Application



fire.angle
چهارشنبه 25 اسفند 1389, 10:53 صبح
سلام

آیا برای سرویس نویسی باید تمام کدهای ما برای اجرا به صورت متناوب در داخل Timer قرار بگیره ؟؟؟؟

وقتی سرویس می نویسم و اون رو اجرا میکنم فقط یک بار اجرا میشه و بعد برنامه تمام میشه اما همون طور که میدونید مثلا سرویس های خود ویندوز در پنجره Task Manager\Process از زمان شروع به کار ویندوز تا زمان خاموش شدن کامپیوتر دایما در حال اچرا هستد و در پی زمینه کارها رو انجام می دهند
آیا تمام سرویس های ویندوز برای انجام کارهاشون از Timer استفاده میکنند ؟؟؟
یا در زمان های خاصی تحت شرایط خاصی از خودشون واکنش نشون میدند ؟؟؟؟
و چطوری ؟؟؟؟

اما اگر کد ها رو در Timer بزارم Service در زمان های تعیین شده کارشو انجام میده

لطفا راهنمایی کنید

BORHAN TEC
چهارشنبه 25 اسفند 1389, 14:01 عصر
آیا برای سرویس نویسی باید تمام کدهای ما برای اجرا به صورت متناوب در داخل Timer قرار بگیره ؟؟؟؟
این فقط یکی از روشها است. می توانید یک ترد ایجاد کنید و در آن ترد یک حلقه بی نهایت قرار دهید و کدهای خودتان را درون آن بنویسید. البته انتخاب روش مناسب بستگی به ماهیت کاری دارد که می خواهید انجام دهید.

وقتی سرویس می نویسم و اون رو اجرا میکنم فقط یک بار اجرا میشه و بعد برنامه تمام میشه اما همون طور که میدونید مثلا سرویس های خود ویندوز در پنجره Task Manager\Process از زمان شروع به کار ویندوز تا زمان خاموش شدن کامپیوتر دایما در حال اچرا هستد و در پی زمینه کارها رو انجام می دهند
جوابی که به سوال قبلی دادم را می توانید به عنوان پاسخ این سوال هم در نظر بگیرید.

آیا تمام سرویس های ویندوز برای انجام کارهاشون از Timer استفاده میکنند ؟؟؟
خیر. همانطور که گفتم می تواند به ماهیت آن سرویس بستگی داشته باشد.

یا در زمان های خاصی تحت شرایط خاصی از خودشون واکنش نشون میدند ؟؟؟؟
می تواند این گونه باشد. مثلاً موقعی که کاربر یک Flash Memory را به سیستم متصل می کند یک ویندوز سرویس متوجه شود و کارهایی را انجام دهد.

و چطوری ؟؟؟؟
با استفاده از پیام های ویندوز یا به عبارتی Windows Message و یا به عبارتی Hook و... .

اما اگر کد ها رو در Timer بزارم Service در زمان های تعیین شده کارشو انجام میده
کاملاً همینطوره...