PDA

View Full Version : انجام کارى خارج از رویدادهاى مربوط به کاربران



SabaSabouhi
پنج شنبه 04 بهمن 1386, 10:10 صبح
با سلام
آیا امکان دارد در یک WebApplication کارى رو خارج از رویدادهاى کاربران انجام دهید؟
یعنى این که بدون نیاز به این که کاربرى از سیستم استفاده کند مثلاً یک Timer باعث شود که هر یک ساعت یک Backup از DB گرفته شود و یا این که هر 2 ساعت بالا بودن یک Site دیگه تست بشه و یا هر روز سر یک ساعت عملیات Cleanup روى DB انجام بشه و یا . . .

صبا صبوحى

raravaice
پنج شنبه 04 بهمن 1386, 10:25 صبح
سلام
کافیه سرور یا iis فقط 1 بار Restart بشه اون موقع هیچ اعتباری به ادامه کار نرم افزار وجود نداره.

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

موفق باشی

SabaSabouhi
شنبه 06 بهمن 1386, 09:59 صبح
سلام
کافیه سرور یا iis فقط 1 بار Restart بشه اون موقع هیچ اعتباری به ادامه کار نرم افزار وجود نداره.

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

موفق باشی

با سلام
ممنون از پاسخ‌گویى شما، اما منظورم Restart شدن سرور یا IIS نبود.
مى‌خوام این اتفاق به صورت منظم و خودکار صورت بگیره بدون این که تو کار برنامه یا برنامه‌ها وقفه‌اى ایجاد کنه.

صبا صبوحى

raravaice
شنبه 06 بهمن 1386, 10:22 صبح
سلام
از تایمر توی Global.asax استفاده کن و توی رویداد Application_Start شروع بشه.

اینم کد ساخت تایمر برای webapplication




imports system.web
imports system.timers
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim objTimer As New System.Timers.Timer
AddHandler objTimer.Elapsed, AddressOf myTimerEvent

objTimer.Interval = 1000
objTimer.Enabled = True


End Sub
Private Sub myTimerEvent(ByVal source As Object, ByVal e As ElapsedEventArgs)
Beep()
End Sub


ولی بازم تاکید میکنم برای کارای کوتاه مدت و غیر حساس از تایمر استفاده کن چون اگر به هر نحوی Application رستارت بشه تایمر از کار میافته و اعتبار خودش از دست میده مگر اینکه مقادیرت رو یه جا ذخیره کنی.

موفق باشی

Behrouz_Rad
شنبه 06 بهمن 1386, 11:18 صبح
http://barnamenevis.org/forum/showthread.php?t=86446

mohammad1363
شنبه 06 بهمن 1386, 13:13 عصر
بله دوست عزیز. امکانش هست که این کار رو بکنی. بصورتی که :
1- یک وب سرویس بنویسی که کاری رو که می خوای انجام بده.(مثلاً می خوای یه Backup از پایگاه بگیره؟)
2- یک windows application بنویس که هر جند ساعت این وب سرویس رو صدا کنه.

برای این کار باید وب سرویسی که می نویسی از خارج از برنامه هم قابل دسترس باشه تا حتی بتونی از روی کامپیوتر خودت هم و یک خط ADSL همیشه این سرویس در بازه های زمانی که می خوای اجرا بشه.

این راه حلی هست که خیلی استفاده می شه