?
Solved

Finding a system.threading.timer from its ToString and make dispose of it in VB.NET

Posted on 2004-08-05
6
Medium Priority
?
579 Views
Last Modified: 2008-02-01
Hi!

I am writing an application for scheduling database queries, dtsjobs and store procedures. I am launching a lot of Timer objects. I store their ToString() sentences into a string variable which I later save on my SQL Server. However I do need to be able to dispose all these System.Threading.Timer in the event of a rescheduling task being launched by a user.

In short:

How do I find a specific Timer from its ToString. Or any ideas on how to do this otherwise?


Cheers,
Peter
0
Comment
Question by:Peter_Ankarlou
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 11726033
I think I always have to ask why, before anything else, someone chooses to do very complicated things.

Why would you want to do this?

Bob
0
 
LVL 27

Expert Comment

by:planocz
ID: 11726503
You need something like this....

Imports System.Threading

    Private oThread As Thread   '<----------- can make it global

        If oThread.IsAlive = True Then
            oThread.abort
        Else
           'Do something esle
        End If
0
 

Author Comment

by:Peter_Ankarlou
ID: 11726981
Why Bob?
That's truly a good question. :-)

planocz:

The thing is I am using System.Threading.Timer and I want to be able to kill it from another class in my app. What happens if I uses

    Public Function KillEvent(ByVal strTimerName As String) As String

        Dim x As Integer
        Dim prc() As Process
        prc = Process.GetProcesses
        For x = 0 To UBound(prc)
            If prc(x).ProcessName = strTimerName Then
                Try
                    prc(x).Kill()
                    Return prc(x).ProcessName & " killed."
                Catch
                    Return "Unable to terminate process"
                Finally
                End Try
            End If
        Next x

Which I have taken from this web-site. Will it kill my Timer-thread or kill the whole app? What is the difference between to kill a process and Timer.Dispose?
I cannot use Timer.Dispose since have have many timers? I want to kill em all (as Metallica would say).
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 27

Expert Comment

by:planocz
ID: 11730191
just looking at it I think it will work,
 but you will know through testing and debugging.
0
 
LVL 37

Assisted Solution

by:gregoryyoung
gregoryyoung earned 750 total points
ID: 11731655
that will kill a process not a thread ...

why not just hold references to your timers in a collection that you can search through for a given one ...

if you want to kill em all

foreach timer in mytimercollection
    timer.dispose()
end for
0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 750 total points
ID: 11734680
If you want to get a reference to a timer by name, then the collection can help you retrieve that:

Dim timerNeeded As Timer = myTimerCollection(name)

Bob
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
In this video we outline the Physical Segments view of NetCrunch network monitor. By following this brief how-to video, you will be able to learn how NetCrunch visualizes your network, how granular is the information collected, as well as where to f…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
Suggested Courses

764 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question