Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > สอบถามเรื่อง การตั้งเวลาเพื่อให้ Service ทำงาน และ interval ค่ะ



 

สอบถามเรื่อง การตั้งเวลาเพื่อให้ Service ทำงาน และ interval ค่ะ

 



Topic : 116807



โพสกระทู้ ( 34 )
บทความ ( 0 )



สถานะออฟไลน์




- เราสามารถตั้งเวลาเพื่อให้ service run ในช่วงเวลาที่กำหนดได้มั้ยคะ
เช่น เราตั้งให้ทำงานช่วง เที่ยงคืน ถึง ตีหนึ่งค่ะ
- Interval คือการทำงานทุกๆ...วินาทีรึป่าวคะ อย่างเช่น
interval = 1000
คือ ทำงานทุก 1 นาที
ขอบคุณมากๆค่ะ

ตอนนี้เราใช้โค๊ดแบบนี้ค่ะ แต่ Service จะทำงานครั้งแรก เมื่อเริ่มกด สตารท์ แล้วพอวันต่อไปมันจะไม่ทำงานแล้ว
Code (VB.NET)
Public StartDate As Date = #1:01:00 PM#
    Public EndTime As Date = #2:00:00 PM#



Code (VB.NET)
Protected Overrides Sub OnStart(ByVal args() As String)
        ' Add code here to start your service. This method should set things
        ' in motion so your service can do its work.
        conn = GetConnection()
        conn.Open()
        TimerService.Interval = 1800000
        TimerService.Enabled = True
        AddHandler TimerService.Elapsed, New System.Timers.ElapsedEventHandler(AddressOf Me.running)
        running()
    End Sub


Code (VB.NET)
Public Sub Running()
        'Try
        If ((DateNow > StartDate) And (DateNow < EndTime)) Then
            '*** Connection
            Conn = GetConnection()
            Conn.Open()
            BrchID = GetBrchID()
            '*** Clear DataTable
            TableTax.Clear()
            '*** Fill Data From Excel (DailyVat) To DataTable
            MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & GetPathDailyVat() & "'; Extended Properties=Excel 12.0;")
            MyCommand = New System.Data.OleDb.OleDbDataAdapter("SELECT `Sheet1$`.`Daily VAT`, `Sheet1$`.F2, `Sheet1$`.F5, `Sheet1$`.F7, `Sheet1$`.F8, `Sheet1$`.F9, `Sheet1$`.F10, `Sheet1$`.F12, `Sheet1$`.F13, `Sheet1$`.F15, `Sheet1$`.F16, `Sheet1$`.F17, `Sheet1$`.F18, `Sheet1$`.F19, `Sheet1$`.F20, `Sheet1$`.F21, `Sheet1$`.F22, `Sheet1$`.F24 FROM `" & GetPathDailyVat() & "`.`Sheet1$` `Sheet1$` WHERE (`Sheet1$`.F12='F&B')  ", MyConnection)
            MyCommand.TableMappings.Add("Table", "Net-informations.com")
            dsTax = New System.Data.DataSet
            MyCommand.Fill(dsTax)
            TableTax = dsTax.Tables(0)
            '*** Fill Data From Excel (Discount) To DataTable
            MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & GetPathDiscount() & "'; Extended Properties=Excel 12.0;")
            MyCommand = New System.Data.OleDb.OleDbDataAdapter("SELECT `Sheet1$`.`" & GetExcelDiscount1() & "`, `Sheet1$`.F9, `Sheet1$`.F13 FROM `" & GetPathDiscount() & "`.`Sheet1$` `Sheet1$` ", MyConnection)
            MyCommand.TableMappings.Add("Table", "Net-informations.com")
            dsDiscount = New System.Data.DataSet
            MyCommand.Fill(dsDiscount)
            TableDiscount = dsDiscount.Tables(0)
            '*** Format Date
            For i = 0 To TableTax.Rows.Count - 1
                DateTax = TableTax.Rows(i)(0)
                strDay = DateTax.Substring(0, 2)
                strMonth = DateTax.Substring(2, 2)
                strYear = DateTax.Substring(4, 2)
                strYear = CInt(strYear) + 2000
                DateInput = strYear + "-" + strMonth + "-" + strDay
                TableTax.Rows(i)(0) = DateInput
            Next
            '*** Insert To DailyVat Sql Database
            For i = 0 To TableTax.Rows.Count - 1
                DateVatReport = TableTax.Rows(i)(14)
                Tax = TableTax.Rows(i)(3)
                ' Check Befor Insert (Date And Chk)
                objCMD = New SqlCommand("select count(*) from DailyVat where Date2 like '%" & DateVatReport & "%' and Chk like '%" & Tax & "%'", Conn)
                intnumrows = (objCMD.ExecuteScalar())
                If intnumrows = 0 Then
                    sqlstring = "INSERT INTO DailyVat(Date,RD,OutletName,Chk,Tax,AR,Cashier,Detail,NetInc,SvrInc,NsSvrInc,Tips,TaxInc,Ttl,Date2,Time,Payment,Amt,BrchID) VALUES ('" & TableTax.Rows(i)(0) & "','" & TableTax.Rows(i)(1) & "','" & TableTax.Rows(i)(2) & "','" & TableTax.Rows(i)(3) & "','" & TableTax.Rows(i)(4) & "','" & TableTax.Rows(i)(5) & "','" & TableTax.Rows(i)(6) & "','" & TableTax.Rows(i)(7) & "','" & TableTax.Rows(i)(8) & "','" & TableTax.Rows(i)(9) & "','" & TableTax.Rows(i)(10) & "','" & TableTax.Rows(i)(11) & "','" & TableTax.Rows(i)(12) & "','" & TableTax.Rows(i)(13) & "','" & TableTax.Rows(i)(14) & "','" & TableTax.Rows(i)(15) & "','" & TableTax.Rows(i)(16) & "','" & TableTax.Rows(i)(17) & "','" & BrchID & "' )"
                    objCMD = New SqlCommand(sqlstring, Conn)
                    objCMD.ExecuteNonQuery()
                End If
            Next
            '*** Date Discount Format
            Try
                For i = 2 To 2
                    DateDiscount = TableDiscount.Rows(i)(2)
                Next
            Catch
            End Try
            DateDiscount = DateDiscount.Substring(11, 10)
            DisDay = DateDiscount.Substring(3, 2)
            DisMonth = DateDiscount.Substring(0, 2)
            DisYear = DateDiscount.Substring(6, 4)
            DateDiscount = DisYear + "-" + DisMonth + "-" + DisDay
            For i = 0 To TableDiscount.Rows.Count - 1
                Try
                    ChkDiscount = TableDiscount.Rows(i)(0)
                    objCMD = New SqlCommand("select count(*) from DailyVat where Date = '" & DateDiscount & "' and Chk = '" & ChkDiscount & "' and OutletName = '" & GetOutletName() & "'", Conn)
                    intnumrows = (objCMD.ExecuteScalar())
                    If intnumrows > 0 Then
                        Discount = TableDiscount.Rows(i)(1)
                        sqlstring = "UPDATE DailyVat Set Discount = '" & Discount & "' WHERE Chk = '" & ChkDiscount & "' and OutletName = '" & GetOutletName() & "'"
                        objCMD = New SqlCommand(sqlstring, Conn)
                        objCMD.ExecuteNonQuery()
                    End If
                Catch
                End Try
            Next
            Conn.Close()
        End If
    End Sub

    Sub SendMail()
        Dim DateNew As String = Date.Now.Date
        Dim FileToCopy As String
        Dim NewCopy As String
        Dim PathNewFolder As String
        DateNew = Replace(DateNew, "/", "-")
        PathNewFolder = GetPathNewFolder() + DateNew
        System.IO.Directory.CreateDirectory(PathNewFolder)
        FileToCopy = GetDailyVatCopy()
        NewCopy = PathNewFolder + "\Daily Vat.xls"
        If System.IO.File.Exists(FileToCopy) = True Then
            System.IO.File.Copy(FileToCopy, NewCopy)
        End If
        FileToCopy = GetDiscountCopy()
        NewCopy = PathNewFolder + "\DISCOUNT.xls"
        If System.IO.File.Exists(FileToCopy) = True Then
            System.IO.File.Copy(FileToCopy, NewCopy)
        End If
        '***ส่ง Email
        Dim myMail As New System.Net.Mail.MailMessage()
        Dim Cred As New System.Net.NetworkCredential("[email protected]", "kratosapplication")
        myMail.To.Add(GetMailTo())
        myMail.CC.Add(GetMailCC())
        myMail.Bcc.Add(GetMailBCC())
        myMail.Subject = "Test send mail message"
        myMail.From = New System.Net.Mail.MailAddress("[email protected]")
        myMail.IsBodyHtml = True
        myMail.Body = "Hi Sawatdee.<br><br>Sabye dee mai."
        Dim SmtpMail As New System.Net.Mail.SmtpClient("smtp.gmail.com")
        SmtpMail.UseDefaultCredentials = False
        SmtpMail.EnableSsl = True
        SmtpMail.Credentials = Cred
        SmtpMail.Port = 587
        SmtpMail.Send(myMail)
        myMail = Nothing
    End Sub




Tag : .NET, VB.NET, C#









ประวัติการแก้ไข
2015-05-28 13:51:19
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-05-28 13:17:39 By : chariyamat View : 850 Reply : 2
 

 

No. 1



โพสกระทู้ ( 34 )
บทความ ( 0 )



สถานะออฟไลน์


แก้ไขค่ะ








ประวัติการแก้ไข
2015-05-28 13:50:52
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-05-28 13:44:15 By : chariyamat
 


 

No. 2

Guest


เป็น exe ทำดาๆ แต่ยัดใส่ใน schedule task ของ windows ไม่ง่ายกว่าหรอครัช
หรือที่จำเป็นต้องเป็น service เพราะต้องไป communicate กับใครอืก
ดู code แล้วไม่มีนี่ ตัว app แม่เป็น asp.net หรือยังครัช เพราะถ้าใช่มันมีวิธี hack หลายวิธีอยู่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-05-29 05:13:06 By : DOG{B}
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่อง การตั้งเวลาเพื่อให้ Service ทำงาน และ interval ค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่