.net - C# Trouble with event handlers on dieing threads -
first of main stathread , not able change without facing problems rest of code.
so, using rapi2 pull , push files between pda , computer. since there quite bit of number crunching on separate thread. first wat create remotedevicemanager , make event handler when device connects.
public void initialize() { _devicemanager = new remotedevicemanager(); _devicemanager.deviceconnected += deviceconnected; }
as can see when device connects triggers deviceconnected. class end pulling , pushing database , number work.
private void deviceconnected(object sender, remotedeviceconnecteventargs e) { if (e.device == null) return; ... (unimportant code) }
now problem here want run code inside deviceconnected in new thread unable access e inside new thread since initialized outside thread
so wat tried make new thread before calling initialize.
public watcher() { _datathread = new thread(initialize); _datathread.isbackground = true; _datathread.name = "data thread"; _datathread.setapartmentstate(apartmentstate.mta); _datathread.start(); }
but thread dies , never fires event handler. tried many different ways make work or keep thread alive without success. hope here able give me hints.
Comments
Post a Comment