Wpf - Kill A BackgroundWorker In .net If Thread Hangs Using COM Object?

Jun 10, 2012

I have an application that interacts with third party COM objects. A method of the COM object that I call will sometimes stop responding. I created a Backgroundworker thread to call the function and I am trying to monitor it from my main thread to kill it if it hangs. I have additional code (not supplied) that tracks the processing time using system.timer from the main thread and I raise an event if it exceeds my threshold (this part is fine). This is when I want to kill the thread and stop code execution. The problem is.. if I use the cancelasync method it will just pend since the code execution is stuck on the function call.

The particular function call in the code snippet that hangs is "objCOM.SendDataToServer()". It typically takes 1-3 seconds to return, but if it gets no response it will just hang indefinitely and won't return at all (no errors just hangs).. there is no timeout... and since I don't have access to the source function I cannot supply one. I tried the .dispose() method of the thread, but apparently that doesn't kill it and neither does cancelasync. I just need help figuring out how to KILL this thread so I can reset the server connection and call the function again.

Public Class COMobject
Private objCOM as new acs.manager
Public Sub CallComFunction()

[code]....

View 1 Replies


ADVERTISEMENT

.Net BackgroundWorker Hangs Up?

Mar 21, 2011

I have limited experience in VB.net and have become stuck. I have tried to search for answers on other threads without success.I have an application that displays real time data.Queries are made to a MySQL database on another PC over the internet every 10 seconds to gather the most recent data.I have done the query within a BackgroundWorker so that the GUI is still responsive while the query is answered.What I've done works great for several hours or maybe for a couple of days but then the DoWork task appears to hang.

The code I'm using is to run the background worker is:

vb
If Not(backgroundWorker1.IsBusy) Then Me.backgroundWorker1.RunWorkerAsync() End If

The backgroundWorker runs just once and there's very little code in the DoWork routine:

vb
Private Sub backgroundWorker1_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles backgroundWorker1.DoWork rs = New

[code].....

Is there anyway I can set up a timeout on the maximum allowed time that the DoWork task can be active for? And if so how would I then go on to stop the backgroundWorker?I understand that CancelAsync isn't going to help as my DoWork task is not repeating as it runs once only, then stops and 10 secs later I run it again.

View 1 Replies

BackgroundWorker Thread Communicate With The Primary UI Thread When Encapsulated In A Class?

Jul 1, 2010

A BackgroundWorker thread can pass data to the primary thread. It does it via the RunWorkerCompleted and ProgressChanged events, which I believe run in the primary thread. I would like to encapsulate the BackgroundWorker control in a class so that I can instantiate it more than once. But I don't know how the BGW can then communicate with the primary thread. If the BGW control is within a class, it does not have access to the properties outside the class. In that case, how can the BGW pass data to the thread that instantiated it?

[Code]....

View 3 Replies

Access Objects Of Main Thread From BackgroundWorker's Thread?

Aug 4, 2011

I'm working with BackgroundWorker, I want the BackgroundWorker do the retrieval process of data from database while the user can still do another task on the form. The problem is, after retrieving the data, I can't seem to access the ListView in my Form from the DoWork event of BackgroundWorker, I will populate that ListView using the data I've retrieved.

Consider this example, this is how I'm doing it:

Public Class Test
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

[Code].....

View 1 Replies

Forms :: Run Processes Synchronously From A Thread Or Backgroundworker Thread?

Sep 4, 2009

How do run processes synchronously from a thread or backgroundworker thread? Is it even possible?We have program that allows the user to download several files from a remote server, compress them, and then email the files.It has several long running processes that must run in order. We want these to run on a separate thread so as not to make the form unresponsive. Does a way exist to do this? We attempted a rather clumsy way of approaching this problem by using background worker threads. When each thread is completed and returned back to RunWorkerCompleted, we start another background worker thread and repeat the the next process. It works somewhat but seems to take a lot of resources to run.

View 1 Replies

How To Kill Thread Effectively

Jul 11, 2011

I am using normal thread and I am new to the thread. I want to know effective way of killing thread. I came to know that aborting thread is not good. Somewhere I read we can do this with having continue check on thread processing

View 7 Replies

Kill A Thread Immediately?

Nov 12, 2010

Can anyone tell me how to kill a thread immediately.

I have tried MyThread.Abort, but it seems to do nothing. Someone told me it's because 'Abort' waits for the current operation to complete, but my thread will run for over 30 minutes before that happens.

View 4 Replies

.net - Thread.abort Hangs Forever

Sep 15, 2011

Code to launch a wmi query on remote computers. This code runs in several threads at the same time.

[Code]...

For Each objMgmt In oquery.Get 'on some pesky windows XP machines this line hangs forever regardless of the timeout and the thread can never be used to get info from another computer. the only way to "release" this is to reboot the target computer.

[Code]...

View 1 Replies

.net - Scrolling The Scrollbar Of A ConsoleApplication Hangs The Thread?

May 26, 2011

I've got some server apps that I've been trying to get some metrics from so I can debug them. I found that when scrolling back up the window I'd suddenly get timeouts from the clients. Sure enough, moving the scrollbar stopped the application.

I'm probably missing something fundemental here, but I can't work out why moving the scrollbar on a Console window would block the thread. It's very simple to reproduce:

Sub Main()
Do
Console.WriteLine(Now.ToString("O"))

[code]....

Run that up, and any interaction with the window blocks the thread. In the example below, I just moved the scrollbar a bit and held it in position for a few seconds before releasing [URL]I've tried it with a Timer type loop rather than a Thread.Sleep but the same issue appears. What am I doing wrong (other than not using a service instead!)?

View 1 Replies

Thread.join() Hangs Sometime Windows Application?

May 31, 2012

I am developing windows based video application, in my application I have to make multiple video files with different duration from a single video file. To achieve this I am using thread.join method(), when I run my application it works fine but sometimes it hangs and I have got to close my application using Task manager, I can't understand why my application behave like this?.

This generally happens when number of output files are more than 40. Is there any problem with thread.join() function, when number of threads are increased. I am generating a new thread for each output file because this is the limitation of the third party dll which I am using.

View 4 Replies

Backgroundworker Return Value To Another Thread?

May 2, 2009

I am using a class with below code, the question is how to update the label's value at UI thread from the backgroundworker?

Imports MySql.Data.MySqlClient
Public Class clsBackGroundWorker

[code]....

View 7 Replies

Cross Thread With A Backgroundworker?

Jan 27, 2010

im sorry if this has been asked before.but i couldent find it in my first look i have a form that runs a query on a mysql database but as it runs the query the form stops responding till it finishes sooo i had the smart idea of putting it in a back ground worker..

GREAT i thot i had it working it all seemed to go greeat then i noticed when i try to change the label text on the form to corispond to the info it got... it wont work it give me a cross threading error....

how to cross thread between the back ground worker and the origial form..

View 2 Replies

How To Sleep Thread Of BackgroundWorker In WPF

Jul 29, 2009

I wanna sleep a second thread of BackgroundWorker. I tried to use Me.Dispatcher.Thread.Sleep(500) in DoWork event, but it fails.

View 3 Replies

VS 2008 BackgroundWorker Vs Thread

Apr 17, 2012

I have some classes right now that I have that I reuse for Client/Server programming. I'm using Thread in these classes though for monitoring for things being written to the network streams and stuff like that. I'm just not sure if I should be using the background worker class instead. I'm also using TCPClient and Listener classes, should I be using sockets directly? I guess it would all depend on the flexibility I would need in a given application's specs.

[Code]...

View 3 Replies

.net - Sane Number Of BackgroundWorker Thread?

Apr 27, 2011

I am writing an 'Admin Console' that accesses hMailServer via its provided COM interface. I am using Visual Basic 2010 Express. In one procedure, it scans for the whole accounts. Because it's a lengthy procedure, I shove it into a set of BackgroundWorker threads.

First result: A maximum of 19 simultaneous threads, with 36 seconds total time.Then I rewrote a time consuming thread initialization code segment, and managed to reduce the time required to approximately 14 seconds... but the thread count now hit 330 threads!Will that huge amount of threads be detrimental? E.g., causing out-of-memory exceptions &c. ?

View 1 Replies

BackgroundWorker Get Values From UI Thread While It Is Running?

Jan 2, 2012

I am using the BackgroundWorker to do the heavy tasks so the UI thread doesn't get blocked. While the BackgroundWorker can send values to the UI thread using the progress-scheme, how can the BackgroundWorker get some values FROM the UI thread?

Either by asking it or simply by the UI thread sending some values to the BackgroundWorker?

Just accessing a variable of the UI thread like UIForm.x within the BackgroundWorker does not work, it does not seem to have access to the UI variables?

View 1 Replies

Backgroundworker Thread Causing UI To Hang?

Aug 29, 2010

I have a background worker that's checking the status of four services on a remote server.This is setup on a timer (5 Seconds) as below. For some reason it's hanging the UI thread causing the application to 'lock' for a second each tick, I cannot work out why?!

Private Sub ServiceTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ServiceTimer.Tick
_ServiceBGWorker = New System.ComponentModel.BackgroundWorker()

[code]......

View 2 Replies

Sendkeys On Backgroundworker Thread Not Working?

Mar 29, 2010

Well to simplify it, whenever I use sendkeys from a background thread it just doesn't work. I even created a textbox, button, and backgroundworker with the following code:

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

[Code].....

View 4 Replies

VS 2008 BackgroundWorker Thread An Updating UI?

Apr 3, 2010

I'm running some tasks on a BackgroundWorker thread and needed to display the current tasks in a label.Before adding the label, the tasks were completing just fine and the UI was responsive.Once I added the labels, the UI has become unresponsive. The issue, I believe, is the Invoke property.I've declared all my tasks, including the updating, in a sub and am getting the Invoke property of the label each time, in order to set the information.The following is an example of what I'm doing:

VB.NET
Private Sub Test()If lblTask.InvokeRequired = True Then Dim mi As New MethodInvoker(AddressOf Test) lblTask.Invoke(mi)

[code]....

View 7 Replies

Backgroundworker - Cross-thread Operation Not Valid

Jun 13, 2010

Yes, I see what you mean. But I had to do it that because I tried to do it this way:

CODE:

but its says "Cross-thread operation not valid: Control 'RichTextBox1' accessed from a thread other than the thread it was created on."

View 1 Replies

C# - Difference Between BackgroundWorker And System.Threading.Thread

Oct 24, 2009

What is the difference between creating a thead using BackgroundWorker and creating a thread using System.Threading.Thread?

View 2 Replies

Forms :: New Thread Versus BackgroundWorker Updating UI

Aug 24, 2010

i have lurked on these forums before and finally signed up..i have a situation that, after days of searching the web, i have not been able to come up with a solution for.i have to fire off a function that takes a large amount of time (writes to database, creates files, etc etc)this function is a non-shared function of a class. if need be i could make it Shared.[code]the code works great, but what i need to be able to do is update a form with a progress bar as the job is processing.all of the examples i have seen that do this are being called from within a Windows Form and they access the form directly - i cant do that in this case. my form needs to be 1 form for 1 job being executed - can process multiple jobs at one time and thus i need multiple forms.i have tried making the form part of my delegate class but since it runs in the same thread the effect is it "freezes" until the job is complete.i have just started looking into using a background worker but again, all examples i have seen use the component as part of a form - that wont work for me.

View 3 Replies

VS 2008 Add Information To A ListView From A BackgroundWorker Thread?

Nov 30, 2009

I'm trying to add information to a ListView from a BackgroundWorker thread. I thought I could do this in this manner:

vb.net
Private Delegate Sub _ListView(ByVal lvi As ListViewItem)
Public Sub test(ByVal lvi As ListViewItem)

[Code].....

When I attempt to run the "test" sub the BackgroundWorker, I get an error:

Argument not specified for parameter 'lvi' of 'Public Syb test(lvi as System.Windows.Forms.ListViewItem)'.

Is there something I need to specify when declaring the sub, or in the sub itself?

View 8 Replies

VS 2008 Updating A ListView From A BackGroundWorker Thread?

Sep 20, 2009

I'm using the following to check the state of checkboxes and then activate some public subs based on the checked state of the checkboxes:

vb.net
Public Sub TestSub() If Me.CheckBox1.InvokeRequired Then Me. CheckBox1.Invoke(New MethodInvoker(AddressOf TestSub)) Else Begin() End If End Sub

Within the Begin sub, I have code that performs specific actions and then updates a ListView with that information.As far as I can tell, the actions are being performed, but the ListView isn't being updated with the info.I'm calling the Test sub from a seperate form, within the BackGroundWorker's DoWork event.Would I have to check the InvokeRequired property of the ListView as well?I'm looking more into the documentation of the BackGroundWorker.

View 8 Replies

How To Kill Process Excel Object

Aug 18, 2009

I have written Code for Excel File Create via ASP.Net with VB Code, I want Kill the process Explictly..I already used GC.Collect(), But it takes more time.

View 4 Replies

.net - Events Raised By BackgroundWorker Not Executed On Expected Thread

Mar 22, 2010

A winforms dialog is using BackgroundWorker to perform some asynchronous operations with significant success. On occasion, the async process being run by the background worker will need to raise events to the winforms app for user response (a message that asks the user if they wish to cancel), the response of which captured in an CancelEventArgs type of the event.

Being an implementation of threading, I would have expected the RaiseEvent of the worker to fire, and then the worker would continue, hence requiring me to pause the worker until the response is received. Instead however, the worker is held to wait for the code executed by the raise event to complete.

It seems like method I am calling via the event call is actually on the worker thread used by the background worker, and I am surprised, since I expected to see it on the Main Thread which is where the mainform is running. Also surprisingly, there are no cross thread exceptions thrown.

View 1 Replies

Creating A Webbrowser Control In A Background Thread In Backgroundworker?

Sep 23, 2009

Is it possible to create a WebBrowser control in a background thread in BackgroundWorker?

Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Using web1 As New WebBrowser[code].....

Does anyone know a way to create a background WebBrowser? I would like to do it to extract info from websites then spit out the various HTML DOM arrays

View 4 Replies

VS 2008 Accessing Condition Of Checkboxes Within A Backgroundworker Thread

Sep 8, 2009

I have a form with Check Boxes on it and a second form that holds functions and a Backgroundworker.When a button is pressed on the first form, the second form loads and then runs the functions that relate to the appropriate Check Boxes.Doing it this way causes the second form to become inaccessible. I decided to run my code in the Backgroundworker's DoWork event and then call the RunWorkerAsync method in my form's Activated event. Before using the Backgroundworker, everything worked fine and now it doesn't.I assume the issue is with the Backgroundworker not being able to access controls on another thread.In debug mode,it automatically throws an exception, but doesn't error out when using the Release version, making me assume it's a legal call. But, if it's a legal call, then why can't I access the controls?

View 10 Replies

VS 2010 For Loop Inside Backgroundworker Gives Thread Error?

Jul 5, 2011

I have a backgroundworker that is downloading data from different webpages and process them to a datagridview.I get the Cross-thread operation not valid error on the first For loop.

Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
dim i as integer
tot = (numPostnrTo.Value - numPostnrFrom.Value) / 10

[code]....

View 12 Replies

Error: The Calling Thread Cannot Access This Object Because A Different Thread Owns It

Nov 25, 2011

I have am using a Twitter streaming class library, and would like to update a listbox when a new tweet is posted. I have it all set up to the point where a message box will show when a tweet comes in, but when I try to insert this tweet into a listbox I get this error: The calling thread cannot access this object because a different thread owns it. I don't know what I need to do in order to insert this tweet.

View 4 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved