Call A Function In Module And Get Result In The Main Thread Asynchronously
Mar 2, 2011
I have a function in a module that returns a datatable.I need to call that function asynchronously and get the results in the Main thread (Main Form) in vb.net.
I've been reading up on asynchronous function / web pages for ASP.NET 3.5 (we're not using v4 yet) but the ones I've seen all focus on performing a background task but then still coming back to finish up and send the response, after the task is complete.
What I want to do is simply kick off the background task (in this case a call to a web service) but then return a response to the browser immediately - ie. without waiting for the asynchronous task to complete. I don't even need to know if it succeeds or not.What is the best way to do that? I can't seem to find examples of kicking off what you might call an "orphan" background task in ASP.NET.
I thought of doing it via a javascript Ajax call on the page I show to the user, but the information passed to the web service is sensitive, so that's out of the question. But that kind of illustrates what I want to do.
[ed] Another idea: Is there an event in the ASP.NET model I can use which occurs after the response has been sent to the browser and the connection closed? ie. So more processing can occur without the user waiting for it?
I was a vb6 user, done a few projects only with forums Now i am moving to vb.net(vb2010) and i have some trouble.Lets say we have a form(form1), a module(mod1) and a textbox on the form1.
i want to start a Sub (DoWork) in the module but in a new thread.
Dim Thread1 As System.Threading.Thread Thread1 = New Threading.Thread(AddressOf mod1.DoWork) Thread1.Start()
The DoWork sub does some stuff and when it's finished i want to change the text of a textbox1 in the main form and start another sub (DoWork2) on the main form under the main thread not the one DoWork is running under.
Plese do not refer me to another post that mighe give me a part answer, try to explain to me what i have to do and why.
I have a problem regarding calling the function in form to the module..i have 2 module which is User Login Module and the other Module is Update the Fields of Student..my problem is the Update Module when i call the function in form i cant call the function that i used..this my code in udpate module and this is my code in form The UpdateExeQuery that i use in module.when i call in the form its error..
We know that the DLL function can be called from our mainprogram and return value. I would like to know, when we run DLL function, can we call a sub in our mainprogram (from DLL function) and return a value to DLL fucntion.
Im new in this forum. I just recently upgraded my Visual Studio 2003 to Visual Studio 2008.I have a web project which is working very well in Visual Studio 2003. But when Im trying to run the same project in Visual Studio 2008, Im getting a runtime error message.The error message is about a public function which is defined in a public module. When Im trying to call that function from different web pages of my project, the web pages are not recognising the public functions and asking me to
I have a form set up where I want to run the function PopulateGrid on it's Form_Load event. I have initialized the DB connection as follows:
Private Sub Main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load LoadConfigFile() cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & config("DatabasePath") & ";") cn.Open() End Sub
Now, I want to run the PopulateGrid function directly after I connect to the database as shown above. I'm confused as to how I'd use a database query in a module when the database is initialized in my main form. Would simple setting the variable cn to public work?
I have to calculate y = a + Bx or y = mx + b in non engineering form. Anyways I have to calculate the y intercept first and am having trouble calling the function from a module. Here is the module and the second window will be the code from my main form
cmd.CommandText = "SELECT * FROM [strfg].[dbo].[Myfunc] (@MyParam)" Dim myparam As New SqlParameter("@MyParam", a) cmd.Parameters.Add(myparam)
The function (runnig on SQL server) returns a table with four columns, one row.How do I call this function from Visual Basic? cmd.ExecuteScalar() is obviously not correct. In c++ I use a recordset. What is the equivalent in vb? Does anyone have a short example?
I'm calling a class function in a thread function. I'm using invoke method to send a value to a progressbar in the main form and I don't know how to do that in an other class function called by the thread function.
My goal is to send a value to a progressbar to the main form from the thread function and even from the function called by the thread function.
My code: ' Invoke sub Public Sub UpdPgEvent(ByVal value As Integer) Me.pgFindEvent.Value = value
How do I dynamically call a function with delegates by passing a string to a background thread in VB.NET?
Currently my code is this
Public Sub invertImageBK(ByVal image As Bitmap) Dim snxl As System.ComponentModel.BackgroundWorker = createBW() snxl.RunWorkerAsync(New ImageProperties(image.Clone, "invertImage", Nothing))
im making a transport agent for exchange and am getting hung up on how to call a method asyncronously. Im doing this based on an msdn article but like usual they didnt provide the part of the code i need to figure out.the article is in C# but i converted it to vb in my project. [URL]I know I need to setup a delegate for the method and then invoke that delegate, but im not 100% on how to implement this.
I have working code to read an RSS feed that uses:
Dim doc As New XmlDocument doc.Load("http://...") Dim channel As XmlElement = doc("rss")("channel") Dim items As XmlNodeList = channel.GetElementsByTagName("item")
Unfortunately the doc.Load call causes the rest of the program to become unresponsive until it finishes.What's the best way to perform the load asynchronously and have a callback function to process the data?Edit: Here's the code I've tried using WebClient - the Load method is still lagging:
Private Sub checkResults() 'request rss feed Dim w As New System.Net.WebClient
[code]....
The rssReadCallback method is executed fairly quickly after calling checkResults, but then the UI freezes during the Load method.
I have a flash video player embedded in a page which has javascript calls for it's controls, specifically calling playStarted() when the play button is pressed. I want to capture this event asynchronously to record when people are actually playing the video versus visiting the page, but I'm not really sure how to do this.
I was thinking the "hack" of a way would be to create a javascript function called playStarted() that would post the video ID to a separate ASP.NET page that would then record it to SQL (where I store my data on page visits and where I want to store my data on video plays.)
But ideally there is a better way to do this where I can register the javascript to the script manager so it can trigger a public sub asynchronously when it's called
I need to call a stored proc from a .NET web page which takes around 15 min to process. We do not want user not to be able to browse the website in the meanwhile. Is calling it asynchronously the way to go or are there any other recommended ways?
I am trying to convert a DLL function call which has the Callback function routine called within the DLL function call.The DLL function call signature is like this:
I'm creating a Client Server application which involves theServer running some scripts in clients and getting back results in an automated way. In Server, other than Main thread, i have 2 worker threads, a) one monitoring response from clients and b) the other scheduling next available job to respective client which executes that job. The issue here is ,I want these worker threads to write the status of their work in the UI(which comes under Main Thread). Also i need to write things in worker thread in a Data table and Rich Text Box in Main thread. But, I can't do so, since it has been blocked to access one thread's function or property directly from others. Is there any work around to do this?
Preface: I know this is an unusual/improper way to do this. I can do this with a "real" ShowDialog(), background worker/thread, and so on. I am trying to do specifically what I describe here, even if it is ugly. If this is impossible for X reason, I have created a fancy progress dialog for some of our long running operations. I need to have this dialog shown on a new thread while having processing continue on the calling (UI in most cases) thread.
I have a thread in an application which calls a sub routine Main(). The Main sub routine in turn call several sub routines/functions from with the same module,several different classes in the same application. Also some sub routines/functions call routines from a class library. Now say the routine/function in class library goes into a infinite loop and never returns. I would like my thread in the application to raise a event and display message to the users about the infinite loop. I am giving some sample code for the application.
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
I'm reading data from a serial port, but the DataReceived event of SerialPort is handled on it's own thread. I want to handle this on the main thread, but simply declaring an event and raising it still results in it being processed on the SerialPort thread. I'm assuming I need to declare a delegate I can call, but I don't see how that would work.
For example, I want to call Sub HandleDataReceived() on the main thread from the DataReceived thread, having HandleDataReceived() run on the main thread. How would I do this?
However, I get an error in the call to BeginInvoke (the UpdateApplicationDataUI portion of the delegate is stating "Expression does not produce a value").
Me.Dispatcher.BeginInvoke(Function() New Action(AddressOf UpdateApplicationDataUI))
Hi: How can I share the Main Module1 between projects? I have project1 in vb.net and contains Module1 (Sub Main of the application) project2 in C# in project2 I have a form1 class that contains a subroutines that need to reference 6 variables that are declared and instantiated in the project1 in the main Module1. Module1 at present is been compiled as Class Library, plus will be a reference of project2 and because I need this variables referenced from project1 it wont compile of course because they are not declared.
the project uses a submain as startup object which is located in a module, thy so the application will be started in tray. Within the main() event i need to deserialize a xml file and with it set the properties of a class and then set what the application will do.The problem is, after I deserialize it and put set the property values I try to get them in the same event(main) but when it gets the value it returns as nothing(if string) or 0(if integer) but in the debugging i saw it setting the values.Is there a way to do that, within the main() event of a module to set the properties of a class and then get them without being nothing/0 ?
I was just practicing some coding and noticed that I was able to use class instead of Module in VB .NET. So I replaced my module to class and I got this error message:No accessible 'Main' method with an appropriate signature was found in 'practicevb'.practicevb
I made sure that the startup object was set correctly in Properties > Application > Startup Objects.The error message disappears if I change it back to Module but I would like to keep it class since the other parts of my code I changed to class and didn't return and error messages.
Class Atic Sub Main() Console.WriteLine("Hello, this proram will calcaulate the quadratic forumla ax^2 + bx + c") Dim Quads As New Quads
the project uses a submain as startup object which is located in a module, thy so the application will be started in tray. Within the main() event i need to deserialize a xml file and with it set the properties of a class and then set what the application will do.The problem is, after I deserialize it and put set the property values I try to get them in the same event(main) but when it gets the value it returns as nothing(if string) or 0(if integer) but in the debugging i saw it setting the values. Is there a way to do that, within the main() event of a module to set the properties of a class and then get them without being nothing/0 ?